Redis -nosql[note1]

2020-04-29  本文已影响0人  墨流引

Redis

nosql redis install

redis支持五种数据结构 string list hash set sorted-set
redis本身是一个key-value的数据结构

STRING

扩展

incr key
incrby key increment
incrbyfloat key increment
decr key
decrby key increment

HASH

hget key field
hgetall key

扩展

hkeys key
hvals key
hincrby key field increment
hincrbyfloat key field increment

string主读,整体存储json。hash方便修改,不支持哈希嵌套,不是所有对象类型都适合存储哈希

LIST

lpush key <value1> [value2] ……
rpush key <value1> [value2] ……
lrange key start stop
lindex key index
llen key
lpop key
rpop key
blpop key [key ……] timeout     # 阻塞到timeout
rlpop key [key ……] timeout

扩展

lrem key count value  

应用
具有操作顺序的场景,操作数据通常以队列或者栈的形式
微博的关注和粉丝列表

SET

存储大量数据,更高的查询效率

sadd key member1 [m2 ……]

扩展

srandmember key [count]
spop key
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2]
sinterstore destination key1 [key2]
sunionstore  destination key1 [key2]
sdiffstore  destination key1 [key2]
smove source destination member

应用

随机推荐类信息检索,例如热点歌单,新闻推荐等等
推荐共同好友,共同关注等等,
黑名单反爬虫访问控制,白名单等等
PV统计单次访问,string的incr,UV不同用户访问两,记录不同cookie数,IP记录不同ip数

SORTED_SET

有序集合

zadd key score1 member1 [s2 m2 [权重 值]]
zrange key start stop [WITHSCORES]
zrerange key start stop [WITHSCORES] # 反向查询
zrem key memeber [member ……]
zrangebyscore key min max [WITHSCORES] [LIMIT]
zrerangebyscore key min max [WITHSCORES] [LIMIT]
zremrangebyrank key start stop  # 按索引
zremrangebyscore key min max

应用
排行榜实现
定时任务,带权重任务

zrank key member
zrerank key member
上一篇 下一篇

猜你喜欢

热点阅读