设为首页 收藏本站
查看: 916|回复: 0

[经验分享] Redis基本数据类型介绍及相关方法介绍笔记--String类型

[复制链接]

尚未签到

发表于 2016-12-21 09:08:03 | 显示全部楼层 |阅读模式
Redis五种数据类型之 String 类型

  String类型说明:
  key:value=1:1
  是二进制安全的可以包含任何数据的类型
  比如可以存放jpg/png/序列化后的对象..Etc..
  下面切入正题咯:
常用命令总结(自用总结 不喜勿喷):

  1.SET方法 
  设置key对应值为String类型value
  e.g: redis 127.0.0.1:6379>set name harborChung
  OK.
  2.GET方法
  获取对应key的value值
  e.g: redis 127.0.0.1:6379>set name harborChung
  “harborChung"
  3.SETNX方法
  设置key对应值为String类型value,如果key已存在返回0不覆盖,不存在返回1设置成功
  e.g:
  127.0.0.1:6379> SET name HarborChung
  OK
  127.0.0.1:6379> get name
  "HarborChung"
  127.0.0.1:6379> setnx name hh
  (integer) 0
  127.0.0.1:6379> get name
  "HarborChung"
  127.0.0.1:6379> setnx names helloRedis
  (integer) 1
  127.0.0.1:6379> get names
  “ helloRedis"
  4.SETEX方法
  设置key对应值为String类型value,并制定该key的有效期s.
  说明:
  设置gender有效期15秒 过期后 该键不可获取 nil表示为空
  没有设置有效期则为永久有效
  eg:
  127.0.0.1:6379> setex gender 15 red 
  OK
  127.0.0.1:6379> get gender
  "red"
  127.0.0.1:6379> get gender
  (nil)
  5.SETRANGE方法
  设置指定key的value值的子字符串 
  Ps:
  命令后跟的数字6为从第几个字符开始替换
  根据数字后新字符串替换老字符串,剩余字符串不作替换
  返回值11代表共返回11个字符
  eg:
  127.0.0.1:6379> get name
  "HarborChung"
  127.0.0.1:6379> setrange name 6 zhong
  (integer) 11
  127.0.0.1:6379> get name
  "Harborzhong"
  9.MSET方法
  一次性设置多个key的值,成功返回ok代表所有值都已经被设置,失败返回0代表没有任何值被设置。
  eg:
  127.0.0.1:6379> mset key1 zhong key2 Chung
  OK
  127.0.0.1:6379> get key1
  "zhong"
  127.0.0.1:6379> get key2
  “Chung"
  10.MSETNX方法
  一次性设置多个key的值,成功返回ok代表所有值都已经被设置,失败返回0代表没有任何值被设置,但是不会覆盖已存在的key。
  只要有一个键设置不成功,其他设置操作均不生效。
  eg:
  127.0.0.1:6379> mset key1 zhong key2 Chung
  OK
  127.0.0.1:6379> get key1
  "zhong"
  127.0.0.1:6379> get key2
  “Chung”
  123456
  127.0.0.1:6379> msetnx key1 haha key3 aaa
  (integer) 0
  127.0.0.1:6379> get key3
  (nil)
  11.GETSET方法
  设置key的值并返回key的旧值
  eg:
  127.0.0.1:6379> getset key1 hello
  “zhong”
  127.0.0.1:6379> get key1
  “hello"
  12.GETRANGE方法
  获取子字符串,即获取key的value 数字代表起始index及结束index
  eg:
  127.0.0.1:6379> getrange name 0 5
  "Harbor"
  13.MGET方法
  批量获取方法,一次性获取多个key的值,如果有对应key不存在则返回nil空
  eg:
  127.0.0.1:6379> mget key1 key2 key3
  1) "hello"
  2) "Chung"
  3) “aaa"
  获取不存在的值的情况
  127.0.0.1:6379> mget key1 key2 key3 key100
  1) "hello"
  2) "Chung"
  3) "aaa"
  4) (nil)
  14.incr方法
  代表对某个值的递增,即做++操作.
  eg:
  127.0.0.1:6379> set keycount 10
  OK
  127.0.0.1:6379> incr keycount
  (integer) 11
  127.0.0.1:6379> get keycount
  "11"
  15.incrby方法
  同incr,加指定值,对于key不存在时会设置key并认为原来的值为0.
  减少则直接设置负数即可
  eg:
  127.0.0.1:6379> get keyCount
  (nil)
  127.0.0.1:6379> incrby keyCount 10
  (integer) 10
  127.0.0.1:6379> get keyCount
  “10”
  --设置为负数情况
  127.0.0.1:6379> incrby keyCount -8
  (integer) 2
  127.0.0.1:6379> get keyCount
  “2"
  16.decr方法
  代表对某个值的递减,即做--操作.
  eg:
  127.0.0.1:6379> decr keyzzz
  (integer) -1
  127.0.0.1:6379> get keyzzz
  "-1"
  17.decrby方法
  同decr,减指定值,对于key不存在时会设置key并认为原来的值为0.
  添加则直接设置负数即可
  eg:
  127.0.0.1:6379> get keyzzz
  "-1”
  127.0.0.1:6379> decrby keyaa +10
  (integer) -10
  --设置为负数情况
  127.0.0.1:6379> decrby keya -10
  (integer) 10
  127.0.0.1:6379> get keya
  “10"
  18.append方法
  给指定key字符串追加vaue返回新字符串长度
  eg:
  127.0.0.1:6379> get name
  "Harborzhong"
  127.0.0.1:6379> append name Chung
  (integer) 16
  127.0.0.1:6379> get name
  "HarborzhongChung"
  19.strlen方法
  取指定key的value值的长度
  eg:
  127.0.0.1:6379> get name
  “HarborzhongChung"
  127.0.0.1:6379> strlen name
  (integer) 16
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-317164-1-1.html 上篇帖子: Redis 源码分析(1):字典和哈希表(dict.c 和 dict.h) 下篇帖子: 分布式缓存之redis学习资料大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表