百度竞价做网站建设,wordpress小工具打不开,html代码例子,网络工程有限公司一、String(k-v) 字符串常规操作 备注 应用场景 SET key value 存入字符转键值对 单值缓存、对象缓存 MSET [key value, key value] 批量存储字符串键值对 对象缓存 SETNX key value 存入一个不存在的键值对 分布式锁 GET KEY 获取一个字符串键值 MGET [key,key,…一、String(k-v) 字符串常规操作 备注 应用场景 SET key value 存入字符转键值对 单值缓存、对象缓存 MSET [key value, key value] 批量存储字符串键值对 对象缓存 SETNX key value 存入一个不存在的键值对 分布式锁 GET KEY 获取一个字符串键值 MGET [key,key,key] 批量获取字符串值 DEL [key,key] 删除键 EXPIPE key seconds 设置一个键的过期时间 原子加减 INCR key 将key中存储的数字值加1 阅读量、登录统计 DECR key 将key中存储的数字值减1 INCRBY key increment 将key中存储的数字值加上increment 分布式全局序列号 DECRBY key decrement 将key中存储的数字值减去decrement
•单值缓存
SET key value
GET key
•对象缓存
1) SET user:1 value(json格式数据)
2) MSET user:1:name xhz user:1: age 18MGET user:1:name user:1:age
•分布式锁SETNX product:10001 true //返回1代表获取锁成功SETNX product:10001 true //返回0代表获取锁失败//执行业务操作DEL product:10001 //执行完业务释放锁SET product:10001 true ex 10 nx //防止程序意外终止导致死锁
•计数器
INCR article:readcount:{文章id}
GET article:readcount:{文章id}
•分布式系统全局序列号
INCRBY orderId 1000 //redis批量生成序列号提升性能
二、Hash(k-(k,v)) Hash常规操作 备注 应用场景 HSET key field value 存储一个哈希表key的键值 对象缓存 HSETNX key field value 存储一个不存在的哈希表key的键值 HMSET key field value[field value.…] 在一个哈希表key中存储多个键值对 HGET key field 获取哈希表key对应的field键值 HMGET key field[field...] 批量获取哈希表key中多个field键值 HDEL key field[field..…] 删除哈希表key中的field键值 HLEN key 返回哈希表key中field的数量 HGETALL key 返回哈希表key中所有的键值 HINCRBY key field increment 为哈希表key中field键的值加上增量increment •对象缓存
HMSET user {userId}:name xzh {userId}:age 18
HMSET user 1:name xhz 1:age 18
HMGET user 1:name 1:age
•电商购物车
1以用户id为key
2商品id为field
3商品数量为value
•购物车操作
1)添加商品-hset cart:1001 10088 1
2)增加数量-hincrby cart:1001 10088 1
3)商品总数-hlen cart:1001
4)删除商品-hdel cart:1001 10088
5)获取购物车所有商品- hgetall cart:1001
三、List (k,array) List常规操作 备注 应用场景 LPUSH key value[value..] 将一个或多个值value插入到key列表的表头最左边 RPUSH key value[value..] 将一个或多个值value插入到key列表的表尾最右边LPOP key/移除并返回key列表的头元素 LPOP key 移除并返回key列表的头元素 RPOP key 移除并返回key列表的尾元素 LRANGE key start stop 返回列表key中指定区间内的元素区间以偏移量start和stop指定 BLPOP key[key...]timeout 从key列表表头弹出一个元素若列表中没有元素阻塞等待timeout秒如果timeout0一直阻塞等待 BRPOP key[key...]timeout 从key列表表尾弹出一个元素若列表中没有元素阻塞等待timeout秒如果timeout0一直阻塞等待 •常用数据结构
Stalck栈LPUSHLPOP
Queue队列LPUSHRPOP
Blocking MQ阻塞队列LPUSHBRPOP
•微博和微信公号消息流
xzh关注了MacTalk备胎说车等大V
1MacTalk发微博消息ID为10018
LPUSH msg:{xzh-ID} 10018
2备胎说车发微博消息ID为10086
LPUSH msg:{xzh-ID} 10086
3查看最新微博消息
LRANGE msg:{xzh-ID} 0 4
四、Set(karray) Set常用操作 备注 应用场景 SADD key member[member..] 往集合key中存入元素元素存在则忽略若key不存在则新建 SREM key member[member...] 从集合key中删除元素 SMEMBERS key 获取集合key中所有元素 SISMEMBER key member 判断member元素是否存在于集合key中 SRANDMEMBER key[count] 从集合key中选出count个元素元素不从key中删除 SPOP key[count] 从集合key中选出count个元素元素从key中删除 Set运算操作 SINTER key[key...] 交集运算 SINTERSTORE destination key[key.] 将交集结果存入新集合destination中 SUNION key[key..] 并集运算 SUNIONSTORE destination key[key...] 将并集结果存入新集合destination中 SDIFF key[key..] 差集运算 SDIFFSTORE destination key[key..] 将差集结果存入新集合destination中
•微信抽奖小程序
1点击参与抽奖加入集合
SADD key{userlD}
2查看参与抽奖所有用户
SMEMBERS key
3抽取count名中奖者
SRANDMEMBER key[count]/SPOP key[count]•微信微博点赞收藏标签
1点赞
SADD like:{消息ID}{用户ID}
2取消点赞
SREM like:{消息ID}{用户ID}
3检查用户是否点过赞
SISMEMBER like:{消息ID}{用户ID}
4获取点赞的用户列表
SMEMBERS like:{消息ID}
5获取点赞用户数
SCARD like:{消息ID}
\
五、ZSet有序集合操作(k,array) ZSet常用操作 备注 应用场景 ZADD key score member[score member] 往有序集合key中加入带分值元素 ZREM key member[member...] 从有序集合key中删除元素 ZSCORE key member 返回有序集合key中元素member的分值 ZINCRBY key increment member 为有序集合key中元素member的分值加上increment ZCARD key 返回有序集合key中元素的个数 ZRANGE key start stop[WITHSCORES] 正序获取有序集合key从start下标到stop下标的元素 ZREVRANGE key start stop[WITHSCORES] 倒序获取有序集合key从start下标到stop下标的元素 Zset集合操作 ZUNIONSTORE destkey numkeys key[key..…] 并集计算 ZINTERSTORE destkey numkeys key[key..…] 交集计算
•Zset集合操作实现排行榜
1点击新闻
ZINCRBY hotNews20190819 1 守护香港
2展示当日排行前十
ZREVRANGE hotNews20190819 0 9 WITHSCORES
3七日搜索榜单计算
ZUNIONSTORE hotNews20190813-201908197
hotNews20190813 hotNews20190814..hotNews20190819
4展示七日排行前十
ZREVRANGE hotNews20190813-20190819 0 9 WITHSCORES