数据库
首页 > 数据库> > Redis练习

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