• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Redis > Redis String 类型和 Hash 类型学习笔记与总结

Redis String 类型和 Hash 类型学习笔记与总结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了Redis String 类型和 Hash 类型学习笔记与总结等相关知识,希望本文的分享对您有所帮助

Linux 版本信息:
cat /etc/issue  或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)

CentOS release 6.6 (Final)
</div>

(一)String 类型

【定义】string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个 value,其上支持的操作与 Memcached 的操作类似。但它的功能更丰富。

string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据, 比如 jpg 图片或者序 列化的对象。 从内部实现来看其实 string 可以看作 byte 数组,最大上限是 1G 字节。

【操作】

① set 方法

设置 key 对应的值为 string 类型的 value。

【例】添加 name = dee 的键值对:
127.0.0.1:6379> set name dee
OK
</div>
设置成功。

② get 方法

【例】
127.0.0.1:6379> get name
"dee"
</div>
获取成功。

 

再次设置 name = deathmask,值会被覆盖:
127.0.0.1:6379> set name deathmask
OK

127.0.0.1:6379> get name
"deathmask"
</div>

③ setnx 方法

设置 key 对应的值为 string 类型的 value,如果 key 已经存在,返回 0,nx 表示 not exist。

【例】
127.0.0.1:6379> setnx name dee
(integer) 0


127.0.0.1:6379> setnx app weibo
(integer) 1


127.0.0.1:6379> get name
"deathmask"


127.0.0.1:6379> get app
"weibo"
</div>

表示 name 已经存在而且没有更改,app 不存在则成功 set。

④ setex 方法

设置 key 对应的值为 string 类型的 value,并指定  此键值 对应的有效期。

【例】
127.0.0.1:6379> setex mobile 10 iphone
OK

127.0.0.1:6379> get mobile
"iphone"


127.0.0.1:6379> get mobile
"iphone"


127.0.0.1:6379> get mobile
(nil)
</div>

设置 mobile 的值为 iPhone,并且指定有效期为 10 秒。

⑤ setrange 方法

设定指定 key 的 value 值的子字符串

【例】将 dee 的 126 邮箱 替换为 gmail 邮箱
127.0.0.1:6379> set email dee@126.com
OK

127.0.0.1:6379> get email
"dee@126.com"


127.0.0.1:6379> setrange email 4 gmail.com
(integer) 13


127.0.0.1:6379> get email
"dee@gmail.com"
</div>
其中 4 代表下标,(integer) 13 表示字符串的长度。

【例2】
127.0.0.1:6379> set email dee@vip.ofim.com
OK

127.0.0.1:6379> get email
"dee@vip.ofim.com"


127.0.0.1:6379> setrange email 4 gmail.com
(integer) 16


127.0.0.1:6379> get email
"dee@gmail.comcom"
</div>
说明:如果替换的字符串没有源字符串长,则只会把源字符串中相同长度的字符替换掉,同时保留源字符串中剩余的字符。

⑥ mset 方法

一次设置多个 key 值,成功返回 ok,表示所有的值都设置了,失败返回 0,表示没有任何值被设置。

【例】
127.0.0.1:6379> mset key1 dee1 key2 dee2
OK

127.0.0.1:6379> get key1
"dee1"


127.0.0.1:6379> get key2
"dee2"
</div>

⑦ msetnx 方法

一次设置多个 key 的值,成功返回 1,表示所有的值都被设置了。失败返回 0 ,表示没有任何值被设置,但是不会覆盖已经存在的 key。
127.0.0.1:6379> msetnx key3 dee3 key4 dee4
(integer) 1


127.0.0.1:6379> msetnx key3 dee333 key4 dee444 key5 dee5
(integer) 0


127.0.0.1:6379> get key3
"dee3"


127.0.0.1:6379> get key4
"dee4"


127.0.0.1:6379> get key5
(nil)
</div>
⑧ getset 方法

设置 key 的值,并返回 key 的旧值。

【例】
127.0.0.1:6379> getset key1 emperor
"dee1"
</div>

⑨ getrange 方法

获取 key 的 value 值的子字符串。
127.0.0.1:6379> get email
"dee@gmail.comcom"


127.0.0.1:6379> getrange email 0 12
"dee@gmail.com"
</div>
返回第 0 到第12 个字符。
⑩ mget 方法

一次获取多个 key 的值,如果对应 key 不存在则对应返回 nil。

【例】
127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "emperor"
2) "dee2"
3) "dee3"
4) "dee4"
5) (nil)
</div>

⑪ incr 方法
对 key 的值做 加加 操作,并返回新的值。

【例】每次递增1
127.0.0.1:6379> set age 28
OK

127.0.0.1:6379> get age
"28"


127.0.0.1:6379> incr age
(integer) 29<

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11win 7 安装redis服务【笔记】
  • 2017-05-11redis常用命令小结
  • 2017-05-11Redis教程(八):事务详解
  • 2017-05-11CentOS系统中Redis数据库的安装配置指南
  • 2017-05-11Redis教程(十一):虚拟内存介绍
  • 2017-05-11redis+mysql+quartz 一种红包发送功能的实现
  • 2017-05-11Redis批量删除KEY的方法
  • 2017-05-11关于redis Key淘汰策略的实现方法
  • 2017-05-11Redis Stat的安装指南
  • 2017-05-11phpredis提高消息队列的实时性方法(推荐)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 关于redis启动时报错:Could not get a resource from the pool。
    • Redis的rdb 和aof 持久化的区别
    • Redis正确使用的十个技巧
    • redis常用命令小结
    • Windows下Redis安装配置教程
    • 详解Redis用链表实现消息队列
    • Redis教程(十二):服务器管理命令总结
    • Python的Flask框架使用Redis做数据缓存的配置方法
    • 通过 Redis 实现 RPC 远程方法调用(支持多种编程语言)
    • Redis中的动态字符串学习教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有