a13698822086 发表于 2018-11-4 08:36:46

Redis笔记-String类型及操作(二)

String类型及操作
  String是简单的类型 ,一个Key对应一个Value. String类型是二进制安全的。 Redis的String可以包含任何数据,比如jpg图片或者序列化的对象
Set
  设置Key对应的值为String类型的value
  例如:添加一个name=lijie的键值对
127.0.0.1:6379> set name lijie//获取值127.0.0.1:6379> get name//重复赋值,会被覆盖setnx
  设置key对应的值为String类型的value,如果key已经存在,返回0, nx是not exist的意思。 例如:我们再添加一个name=lijie_new的键值对
127.0.0.1:6379> setnx name liyanyan(integer) 0//由于前面已经设置过 name的值 ,所以返回0,并且不会覆盖Setex
  设置key对应的值为String类型的value,并指定此键对应的有效期
  例如:我们添加一个haircolor=red的键值对,并指定有效期为10 秒
127.0.0.1:6379> setex haircolor 10 red  
OK127.0.0.1:6379> get haircolor"red"127.0.0.1:6379> get haircolor(nil)
setrange
  设置指定key的value值的子字符串
  例如:我们希望将lijie的126邮箱替换为gmail邮箱
127.0.0.1:6379> set name lijie@126.comOK127.0.0.1:6379> setrange name 6 gmail.com  
(integer) 15127.0.0.1:6379> get name"lijie@gmail.com
  

  
//再设为126邮箱
  
127.0.0.1:6379> setrange name 6 126.com
  
(integer) 15
  
127.0.0.1:6379> get name
  
"lijie@126.comom"
  
//我们发现如果替换的字符串长度,小于原字符串,则原字符串后面的字符会被保留
Mset
  一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有任何值被设置
127.0.0.1:6379> mset key1 lijie key2 chenxl key3 zhangsan  
OK127.0.0.1:6379> get key1"lijie"127.0.0.1:6379> get key2"chenxl"127.0.0.1:6379> get key3"zhangsan"
msetnx
  一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有任何值被设置,但是不会覆盖已经存在的key
  只要有一个key是存在的,其它所有的key都不能设置成功。
get
  获取一个值
getset
  设置key的值,并返回key的旧值
getrange
  获取key的value的值的子字符串
127.0.0.1:6379> getrange name 0 3"liji"mget
  一次获取多个key的值,如果对应key不存在,则返回nil
127.0.0.1:6379> mget key1 key2 key3 key41) "lijie"2) "chenxl"3) "zhangsan"4) (nil)incr
  对key的值做增加的操作,并返回新的值,如果key不存在,设置key的值为0,再往上加
127.0.0.1:6379> incr age(integer) 11  
127.0.0.1:6379> incr age(integer) 12
  
127.0.0.1:6379> incr age(integer) 13
  
127.0.0.1:6379> incr age(integer) 14
incrby
  同incr类似,以指定步长往上加值,key不存在时候会设置ke,并认为原来的value是0
//myage的值不存在127.0.0.1:6379> incrby myage 3(integer) 3127.0.0.1:6379>  
127.0.0.1:6379> incrby myage 3(integer) 6127.0.0.1:6379> incrby myage 3(integer) 9
  如果想递减,值可以设为负值
decr
  对key的值做减操作
decrby
  同decr类似,以指定步长减值
append
  给指定key的字符串追加value, 返回新字符串的长度
127.0.0.1:6379> append name 123(integer) 18127.0.0.1:6379> get name"lijie@126.comom123"strlen
  获取指定key的value值的长度
127.0.0.1:6379> strlen name(integer) 18

页: [1]
查看完整版本: Redis笔记-String类型及操作(二)