redis应用
2016-01-20 14:20:26 5 举报
Redis是一款开源的内存数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、列表、集合、散列和有序集合,并提供了丰富的操作命令。Redis具有高性能、高可用和可扩展性的特点,适用于各种应用场景,如网站访问量统计、实时消息推送、分布式锁等。此外,Redis还支持主从复制和分片技术,可以轻松实现数据的备份和负载均衡。总之,Redis是一款功能强大且易于使用的内存数据库,是构建高性能Web应用的理想选择。
作者其他创作
大纲/内容
set
INCR key \t\t\t//将key中储存的数字值加1DECR key \t\t\t//将key中储存的数字值减1
x1
bitmap
数值
127.0.0.1:6379> sadd set2 a b c(integer) 3127.0.0.1:6379> sadd set3 b c d(integer) 3127.0.0.1:6379> SUNION set2 set31) \"b\"2) \"a\"3) \"c\"4) \"d\"127.0.0.1:6379> SDIFF set2 set31) \"a\"
127.0.0.1:6379> LPUSH l1 a b c d(integer) 4127.0.0.1:6379> LRANGE l1(error) ERR wrong number of arguments for 'lrange' command127.0.0.1:6379> LPOP l1\"d\"127.0.0.1:6379> LRANGE l1 0 -11) \"c\"2) \"b\"3) \"a\"
127.0.0.1:6379> setbit 20200101 1 1(integer) 0127.0.0.1:6379> setbit 20200101 8 1(integer) 0127.0.0.1:6379> setbit 20200102 8 1(integer) 0127.0.0.1:6379> BITOP or res 20200101 20200102(integer) 2127.0.0.1:6379> BITCOUNT res 0 -1(integer) 2
list
127.0.0.1:6379> ZADD zset4 8.8 ksafjalksjfdsakljfdsljfkdfkjasfksjdfdkjfdslkajfalksjf (integer) 1127.0.0.1:6379> OBJECT encoding zset4\"ziplist\"127.0.0.1:6379> ZADD zset4 8.8 ksafjalksjfdsakljfdsljfkdfkjasfksjdfdkjfdslkajfalksjfdsafadfdsafdsafdsafdsafdsafdsaf(integer) 1127.0.0.1:6379> OBJECT encoding zset4\"skiplist\"
01000000
127.0.0.1:6379> setbit jiangzuohui 2 1(integer) 0127.0.0.1:6379> setbit jiangzuohui 364 1(integer) 0127.0.0.1:6379> BITCOUNT jiangzuohui 0 -1(integer) 2setbit 从0数组开始
127.0.0.1:6379> hset user name jiang(integer) 1127.0.0.1:6379> hset user age 18(integer) 1127.0.0.1:6379> HGETALL user1) \"name\"2) \"jiang\"3) \"age\"4) \"18\"127.0.0.1:6379> hget user name\"jiang\"127.0.0.1:6379> hget user age\"18\"127.0.0.1:6379> HINCRBY user age -1
登录用户某段时间的的活跃数:
value是双向连表
zset
点赞统计限流
x3
skiplist:比较的场合,不用所有的值进行比较,根据层级查找,貌似红黑树。插入新的数据 要随机造层:
127.0.0.1:6379> zadd zset1 1.6 apple 1.2 banana 3.8 orange(integer) 3127.0.0.1:6379> ZRANGE zset1 0 -1 1) \"banana\"2) \"apple\"3) \"orange\"127.0.0.1:6379> ZRANGE zset1 0 -1 withscore(error) ERR syntax error127.0.0.1:6379> ZRANGE zset1 0 -1 withscores1) \"banana\"2) \"1.2\"3) \"apple\"4) \"1.6000000000000001\"5) \"orange\"6) \"3.7999999999999998\"127.0.0.1:6379> ZRANGE zset1 0 11) \"banana\"2) \"apple\"127.0.0.1:6379> ZREVRANGE zset1 0 11) \"orange\"2) \"apple\"127.0.0.1:6379> OBJECT encoding zset1\"ziplist\"
GETBIT k1 1 1@
key持有value的首部和尾部
redis类型场景
字符串
value超过128位
hash
x10
x2
zset实现
skiplist
x15
同向:栈异向:队列数组ltrim:评论列表
127.0.0.1:6379> BITCOUNT k1 0 -1(integer) 2127.0.0.1:6379> BITCOUNT k1 0 0(integer) 2127.0.0.1:6379> SETBIT k2 1 1(integer) 0127.0.0.1:6379> SETBIT k2 6 1(integer) 0127.0.0.1:6379> BITOP and andresult k1 k2(integer) 1127.0.0.1:6379> get andresult\"@\"127.0.0.1:6379> BITOP or orresult k1 k2(integer) 1127.0.0.1:6379> get orresult
SETBIT k1 1 1@
场景:详情-聚合数据统计数:粉丝,点赞。。。
场景:共同关注
出勤统计:任意用户窗口内,登录天数
ziplist
场景:新闻排行榜
String
127.0.0.1:6379> SRANDMEMBER set1 21) \"oxox\"2) \"xoox\"127.0.0.1:6379> SRANDMEMBER set1 21) \"oxox\"2) \"xxoo\"127.0.0.1:6379> SMEMBERS set11) \"oxox\"2) \"xxoo\"3) \"xoxo\"4) \"ooxx\"5) \"xoox\"127.0.0.1:6379> spop set1\"xxoo\"127.0.0.1:6379> spop set1\"ooxx\"127.0.0.1:6379> spop set1\"xoox\"127.0.0.1:6379> spop set1\"oxox\"127.0.0.1:6379> spop set1
数据分析,常驻内存 bitmap临时导入redis,统计报表bitmap可以实现布隆过滤器https://www.jianshu.com/p/2104d11ee0a2
x14
场景:抽奖
0 条评论
下一页