Redis的数据类型——String
String类型是Redis中最简单的字符串类型键值对缓存,也是最基本的数据类型之一。
Keys相关
# 查看当前库中所有的键(不建议在生产中使用,数据量大会造成短暂的卡顿)
keys *
# keys a* 查询所有以a开头的键
# keys *x 查询所有以x结尾的键
String类型相关的常见操作
-
get/set/del:查询/设置/删除
-
set rekey data:设置已经存在的key会直接覆盖掉原始的数据,
-
setnx key data:使用之前先对key是否存在进行校验,如果存在,则操作无效,反之,进行set操作
# 例如继续对sex进行设置,会直接覆盖掉原始的数据 set sex female # 比较友好的操作就是可以使用setnx 使用前先判断下是否存在该key,如果存在则key设置无效,否则设置成功 # 由于之前设置的sex已经存在值,因此影响的行数为0,查看sex中的数值依旧为female setnx sex male
-
set key value ex
- time:设置带过期时间的数据 expire,默认是以秒作为单位
- key:设置过期时间
- ttl:查看剩余时间,-1代表永远不会过期,-2代表已过期
# 设置key为name 值为tom 过期时间为10秒的数据 set name tom ex 10 # ttl key 查询该key剩余过期时间 -2代表已过期 ttl name
-
append key:合并字符串
-
strlen key:查询字符串长度
# 为tom追加字符串 append name 123 # 查看字符串长度 strlen name
-
incr key:累加1 ; decr key:累减1
# 为 age累加1 incr age # 为 age累减1 decr age
-
incrby key num:累加指定数值;decrby key num:累减指定数值
# 为 age累增10 incrby age 10 # 为 age累减 decrby age 10
-
getrange key start end :截取str中的数据,类似于substring,end =-1代表最后
# 截取key为name,下标值从0~3 getrange name 0 3
-
setrange key start newdata:从start位置开始替换数据
# setrange name 3 456的意思就是从第3位开始进行替换,将原始的tom123 会替换成tom456 setrange name 3 456
-
mset连续设置多个值
-
mget连续取值
-
msetnx:连续设置多个值,如果存在则不设置
# 由于phone这个key已经存在,因此会直接导致该操作语句无效 msetnx phone 789456123 address hah
注意:无论已存在的值在msetnx前后,只要存在已存在的值,均会导致该操作语句无效。
- flushall:删除所有db中的数据
- flushdb:删除当前操作的数据库中的数据
- select [index]:切换当前要进入的数据库,redisDB默认是16个数据库