虽然在项目中每天都和redis打交道,但是一直没有系统的学习一下,周末补课...
redis是一个nosql数据库,主要可用来缓存和实现队列。
redis数据类型
String
可以是字符串、整数或浮点数,统称为元素
set str ilovem
get str
set str 5
get str
//自增,str变为6
incr str
//减2
decrby str 2
List
一个有序序列,每个节点包含一个元素,可以重复,可以pop、push...
//左面推入
lpush list a
lpush list b
//查询list长度
llen list
//右面弹出,先进先出,结果为a
rpop list
Set
无序,且元素各不相同的集合
//插入
sadd set a
//查看set内元素数量
scard set
//判断元素是否在set中,存在则返回1
sismember set a
//删除元素
srem set a
Hash
key-value散列组,其中key是唯一的字符串,value是元素
//插入
hset hash key1 a
//获取
hset hash key1
//查看hash内元素数量
hlen hash
//获取多个key的value
hmget hash key1 key2
Sort Set
score-value-rank有序集合,其中score是浮点,value为元素,rank是按score的排序。
- value唯一
- 如果score相同,则按照value的字典顺序排序
//增加元素
zadd zset 1 value1
zadd zset 2 value2
//查看zset元素数量
zcard zset
//由小到大获取rank第0到第1的value及score
zrange zset 0 1 withscores
//查看某个元素的排名
zrank zset value1