分布式专题0-redis-基础入门

·@TOC

一、基础数据类型

这里的基础数据类型指的是value不是key;

1-String

help @string
①set key value;
应用场景:
存储数据库中一行数据;
①GET key;
应用场景:
获取key;
⑥MSET key1 value1 key2 value2 …;
使用场景:
数据库表中一行数据;
①MGET key01 key02 …;
应用场景:
一次获取多个数据
MGETALL不存在这种使用情况
③SETNX key value;
应用场景:
分布式锁-成功返回1,失败返回0,代表已经有值了;
④DEL key01 key02 ...
应用场景:
删除key;
⑤SET key value EX [time] NX
含义:防止程序意外终止导致死锁
注意 NX表示只有不存在才会设置,ex表示是秒,px表示毫秒,参照https://www.cnblogs.com/fanblogs/p/11157256.html
使用场景:
分布式锁,防止死锁;
⑤EXPIRE key seconds
设置一个键的过期时间(秒)
原子加减
⑧INCR key
含义:将key中储存的数字值加1
使用场景:
微信公众号的阅读量
DECR key
含义:将key中储存的数字值减1

⑨INCRBY key [increment];
使用场景:
分布式场景中使用-不明白;
不是INCR BY
DECRBY key [decrement];
含义:将key所储存的值减去decrement

2-hash

help @hash
①HSET key key01 value01;
使用场景:
数据库数据存储:如果数据库数据量过大,存在bigkey问题,但是可以解决;
购物车:eg.HSET 购物车id 产品ID 数量;
⑤HGET key key01;
使用场景:
获取购物车某种产品的数量;
③HMSET key key01 value01 key02 value02 …;
含义:批量设置哈希表key中多个field键值
③HMGET key key01 key02 …;
含义:批量获取哈希表key中多个field键值
②HINCR
购物车id 产品ID;
使用场景:
购物车里边的+号;

④HLEN key;
使用场景:
购物车中产品种类的数量;


HELP @hash

和String比优点
1)同类数据归类整合储存,方便数据管理
2)相比string操作消耗内存与cpu更小
3)相比string储存更节省空间
和String比缺点
1)过期功能不能使用在里边的key上,只能用在外边的key上
2)Redis集群架构下不适合大规模使用

3-list

help @list
LPUSH key value1 value2 …
从左边向集合key中添加元素
使用场景:
微信公众号的消息展示;
RPUSH key value1 value2 …
从右边向集合key中添加元素
LPOP key
移除并返回集合key左边的元素
RPOP key
移除并返回集合key右边的元素
LRANGE key start stop
返回集合key从左边start到stop的元素;
BLPOP key1 key2 … timeout
从集合key1 key2左边开始取元素,如果取不到,则阻塞timeout秒,如果timeout=0,一直阻塞等待
BRPOP key1 key2 … timeout
从集合key1 key2右边开始取元素,如果取不到,,则阻塞timeout秒,如果timeout=0,一直阻塞等待
LPUSH + LPOP:栈
LPUSH+RPOP:消息队列;
LPUSH+BRPOP:阻塞消息队列;

4-set

help @set
SADD key value0 value1 value2 …;
向集合key中添加元素
使用场景:微信朋友圈点赞;微博关注模型;
SREM key value …;
从集合key中移除指定的元素;
SINTER key0 key1 key2 …
SUNION key0 key1 key2 …
DIFF key0 key1 key2 …
用key0中去除key1和key2并集中的元素;

5-zset

help @sorted_set
ZADD key key0 number0 key1 number1
向集合key中放入key0和key1以及对应的分值,排序是按照分值从小到大排序;
ZREM key key0 …
移除集合key中的指定元素key0;

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值