Redis练习
作者:互联网
get set getset
get --- 获取值
set --- 设置值
getset --- 设置值,但是会返回原来的值
//区分大小写
//value中存在空格的话需要添加双引号
set name value
set name2 "value1 value2"
get name
getset name
incr,incrby,decr,decrby
incr --- 自增加1
incrby --- 指定增量
decr --- 自减1
decrby --- 指定减量
//如果从未设置过value,incr value2等于1
//如果value为字符串的话,则抛出异常
set value 1
incr value ==> 2
incr value2 ==> 1
set value 1
incrby value 5 => 6
incrby value "5" => 11
incrby value -5 => 6
set value 5
decr value => 4
decrby value 2 => 2
decrby value -2 => 4
mget mset
mset --- 批处理 设置
mget --- 批处理 获取
mset v1 zhang v2 "li si" v3 "wang wu" v4 zhaoliu
get v1 ==> zhang
get v2 ==> li si
mget v1 v2 v3 v4
==>
1) "zhang"
2) "li si"
3) "wang wu"
4) "zhaoliu"
exists
exists --- 存在
set value 1
exists value ==> 1
exists value2 ==> 0
del
del --- 删除key
set value 1
del value ==> 1
del value ==> 0
type
type --- 查看key的类型
数字也为字符串
对字符串进行+-时,只要能解析成数字的就可以,否则会报错
expire,ex,ttl
expire --- 设置字段被删除的时长
ex --- 在set的时候就可以设置时长
ttl --- 查看剩余的存活时间
set value bean
expire value 5 ==> 1
set value bean 5 ==> 1
ttl value
1. ==> -2 表示时间耗尽
2. ==> -1 表示没有设置删除时间
3. ==> 其余自然数表示还剩余的时间
hset,hget
hset --- hash set 一个key的value扩展成另外一个key value
hget --- hash get
//这个value不能和原来的set重复,否则不会重新设置而是会报错
hset value first name ==> 1
解释:
hset 表示标志位
value 表示key
first name表示value这个key的值
first表示key的值的key
name表示key的值的值
理解:
这个value好像重新开辟出了一个新的键值对空间
//必须带上value和first
hget value first ==> name
hgetall
hgetall --- 获取所有的key和value
hset user:1 name zhang
hset user:1 age 2
hset user:1 gender male
hgetall
==>
1) "name"
2) "zhang"
3) "age"
4) "2"
5) "gender"
6) "male"
hmset hmget
hmset --- 批处理 设置
hmget --- 批处理 获取
hset user:1 name zhang hset user:1 age 2 hset user:1 gender male ==> 1
hmget user:1 name age gender
==>
1) "zhang"
2) "2"
3) "male"
hmget user:1 name age gender a
==>
1) "zhang"
2) "2"
3) "male"
4) (nil)
hincrby
hincrby --- 增加 只能数值
hset user:1 age 2
hincrby user:1 age 2 ==> 4
//没有hincr
hdel
hdel --- 删除
hset user:1 age 1
hdel user:1 age
lpush,rpush,lrange
lpush --- 从list的左边插入一个值
rpush --- 从list的右边插入一个值
lrange --- 选取list的一段范围内的值
lrange中表示方式为数字 第一个数字表示起始值从0开始。第二个数字表示末值,-1表示到最后,超过返回也没事
lpush mylist a
lrange mylist 0 -1 ==> a
lpush mylist b
lrange mylist 0 -1 ==> b,a
rpush mylist a
lrange mylist 0 -1 ==> b,a,a
rpush mylist b
lrange mylist 0 -1 ==> b,a,a,b
lpop,rpop
lpop --- 获取到最左边的值并删除
rpop --- 获取到最右边的值并删除
//全部删完了,会返回nil
lpop mylist
rpop mylist
ltrim
ltrim --- 截取list中的一段
//第一个元素从0开始算,0 3表示选取从左边第一个开始的4个
//超过范围也没事,相当于把list置空了
ltrim mylist 0 3
DECR: 自减1
DECRBY: 减自定义
DEL: 删除
EXISTS: 存在
EXPIRE: 自动删除时间
GET: 获取
GETSET: 获取删除
HDEL: 删除
HEXISTS: 存在
HGET: 获取
HGETALL: 获取所有
HINCRBY: 增加自定义
HKEYS: 获取hash中的所有key
HLEN: hash中几个键值对
HMGET: 批量获取
HMSET: 批量设置
HSET: 设置
HVALS: 获取hash中所有的值
INCR: 自增1
INCRBY: 增自定义
KEYS: 获取包含value的所有keys
LINDEX: 获取特殊位置的值
LLEN: 获取list的长度
LPOP: 从左边删除
LPUSH: 从左边加入
LRANGE: 获取list
LREM:
LSET:
LTRIM: 截取一部分
MGET: 批量获取
MSET: 批量设置
MSETNX:
MULTI:
PEXPIRE:
RENAME:
RENAMENX:
RPOP: 从右边删除
RPOPLPUSH: 将a中末尾的元素弹出添加到b的开头
RPUSH: 从右边加入
SADD: setList添加
SCARD: 获取setList的大小
SDIFF:
SDIFFSTORE:
SET: 设置
SETEX:
SETNX:
SINTER: 两个setList之间的交集
SINTERSTORE:
SISMEMBER: 判断setList里面是否包含某值
SMEMBERS: 获取setList的所有值
SMOVE:
SORT: 排序,存在非数字报错
SPOP: 从set中随机获取一个值,并删除它
SRANDMEMBER: 随机获取setList里面的值,而不会删除
SREM:
SUNION:
SUNIONSTORE: 将多个setList合并到一个新setList
TTL: 获取剩余时间
TYPE: 获取类型
ZADD: 添加一个sorted set
ZCARD:
ZCOUNT: 获取范围内的个数
ZINCRBY: 添加一个值
ZRANGE: 显示所有sorted set的值,从小到大
ZRANGEBYSCORE: 根据分数的上下限来显示值
ZRANK: 获取元素的排名
ZREM:
ZREMRANGEBYSCORE: 根据分数来移除元素
ZREVRANGE: 显示所有sorted set的值,从大到小
ZSCORE
标签:set,name,练习,Redis,value,获取,user,hset 来源: https://blog.csdn.net/qq_34759481/article/details/100038150