redis
文章平均质量分 60
狼与自由
这个作者很懒,什么都没留下…
展开
-
布隆过滤器
问题redis 缓存穿透有人请求id = -1 的数据redis中是没有这条数据的,需要去mysql中查,但是数据库也没有这条数据。查出的结果是null然后,多次请求id = -1多级去数据库查询,导致数据库资源浪费解决思路:查出 -1的数据为null 也缓存到redis ,下次再请求就可以从缓存取了这个时候有人请求id = -2 的数据,数据库也没有,于是redis 缓存-2 的数据然后,-3,-4 .。。。-100000000如果把查出来为null的都缓存起来,肯定是要浪费redi原创 2021-05-30 21:59:54 · 90 阅读 · 0 评论 -
Redis 分布式锁
现在很多公司都喜欢用Redis做分布式锁。来讲一讲Redis锁的概念1.SETNX最早都是用SETNX 来做分布式锁Setnx命令在指定的 key 不存在时,为 key 设置指定的值对比SET举2个例子:set(“boss”,“you”);set(“boss”,“me”);这里执行完后boss的值是 me;而setNx(“boss”,“you”);setNx(“boss”,“me”);执行完后 boss的值是 you因为setNx只有key 不存在的时候才会执行所以被用来做分布原创 2021-05-04 21:12:57 · 109 阅读 · 0 评论 -
内存持久化方案
任何使用内存做存储的工具,都面临持久化的问题,比如redis,HDFS目前世界上的解决方案只有以下2种:写日志针对每一次操作都用日志记录,需要恢复时逐行读取,再操作一遍。优点:可靠性比较高缺点:恢复速度慢快照,dump在某一个时间点把内存的所有数据记录下来,生成一个image需要恢复时读取这个image优点:恢复速度快缺点:数据可靠性差组合redis和hdfs等工具都是使用组合的方式来做。先用一个快照恢复到某一个时间节点,然后用日志的方式恢复。...原创 2021-02-07 07:07:08 · 600 阅读 · 0 评论 -
docker 实践篇-redis
docker是什么我就不介绍了。这篇文章只会帮你搭建一个docker并且教你如何使用由于windows下的docker 由于版本的原因情况比较复杂,所以只演示CentOS 64位1.安装docker$sudo yum install docker2.安装完后查看版本docker version3.启动docker-CE$ sudo systemctl enable docker$...原创 2019-08-10 10:37:26 · 114 阅读 · 0 评论 -
IM如何保证消息不乱序
对于聊天、直播互动等业务来说,消息的时序代表的是发送方的意见表述和接收方的语义逻辑理解,如果时序一致性不能保证,科能就i造成聊天语义不连贯,容易出现曲解和误会。对于点对点的聊天场景,时序一致性需要保证接收方的接收顺序和发送方的发出顺序一致;而对于群组聊天,时序一致性保证的是群里所有接收人看到的消息展现顺序都一样。从理论上来说,保持消息的时序一致性不难,理论上,我们想象的消息收发场景中,只有单一...原创 2019-10-05 10:06:25 · 2560 阅读 · 0 评论 -
Redis 计数器和限速器
INCR key将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。这是一个针对字符串的操作,因为 Redis 没有专用的整数类型,所以 key 内储存的字符串被解释为十进制 64 位有符号整...原创 2019-10-05 10:19:46 · 585 阅读 · 1 评论