redis
木易三水良
这个作者很懒,什么都没留下…
展开
-
缓存雪崩、穿透、击穿
原创 2021-07-04 21:54:13 · 99 阅读 · 0 评论 -
Redis内存
一、过期key的删除策略定时策略:在设置键的过期时间的同时,创建⼀个定时器。当键的过期时间来临时,⽴即执⾏对键的删除操作。惰性策略:每次获取键的时候,判断键是否过期,如果过期的话,就删除该键,如果没有过期,则返回该键。定期策略:每隔⼀段时间,对键进⾏⼀次检查,删除⾥⾯的过期键 。Redis中过期的key是由主线程删除的,为了不阻塞⽤户的请求,所以删除过期key的时候是少量多次。 举例如下:每秒进⾏10次过期扫描,每次从过期字典中随机选出20个key删除20个key中已经过期的key如果过期原创 2021-06-07 11:09:41 · 5228 阅读 · 0 评论 -
redis特殊数据类型 Hyperloglog
获取集合中的不重复元素基数:不重复的元素A={1,2,3,4,5,6,5},B={1,2,3,4,5},基数的的个数 = 6 Redis 2.8.9版本就更新出了Hyperloglog数据类型,基数统计的算法,优点:占用的内存是固定的,2^64不同元素的计数,只需要12K的内存!从内存角度,Hyperloglog就是数据类型首选!0.81%的错误率 网页的UV(一个人访问一个网站多次,但是还是算作一个人):传统方式,set集合保存用户ID,然后统计set中的用书数量作为标准判断,这种方.原创 2020-09-27 16:41:36 · 127 阅读 · 0 评论 -
redis特殊数据类型 geospatial地理位置
geo的底层实现原理其实就是Zset,可以通过Zset命令来操作geo数据,删除geo用zrem命令即可,zrange查看全部的地图数据1、geospatial地理位置朋友定位,附近的人,打车距离计算1.1、geoadd有效经度范==-180到180==,有效纬度范围==-85.05112878到85.05112878==,当位置超出指定范围时,该命令会返回一个错误127.0.0.1:6379> GEOADD china:city 104.06301578277589 30.56.原创 2020-09-27 16:40:46 · 165 阅读 · 0 评论 -
乐观锁的使用 redis
悲观锁:什么时候都出问题,无论做什么都加锁乐观锁:什么时候都不会出现问题,所以不会上锁,更新数据的时候进行判断,在此期间是否有人对数据进行了改变获取version,更新的时候比较version,监控==watch。事务正常结束,数据期间没有发生改变,这个时候就正常执行成功,监视失败,要放弃监视unwatch==,再重新监视127.0.0.1:6379> set money 1000OK127.0.0.1:6379> set out 0OK127.0.0.1:6379> .原创 2020-09-27 16:38:32 · 187 阅读 · 0 评论 -
配置文件详解 redis
启动可以指定相关的配置文件1、单位单位换算,不区分大小写 11 # 1k => 1000 bytes 12 # 1kb => 1024 bytes 13 # 1m => 1000000 bytes 14 # 1mb => 1024*1024 bytes 15 # 1g => 1000000000 bytes 16 # 1gb => 1024*1024*1024 bytes 17 # 18 # units are case insen原创 2020-09-27 16:37:03 · 79 阅读 · 0 评论 -
哨兵模式原理及配置详解 redis
概述 其实就是自动选举老大的模式,主从切换技术的方法是,当Master宕机后,需要手动把一台Slave设为Master,这些操作需要人工干预,费时费力,而且致使服务器一段时间内不可用,所以这种方式不是推荐方式,更多的时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供Sentinel架构来解决这个问题。 能够后台监控主机是否故障,如果故障了根据投票数自动将一个Slave转为Master。这是一种特殊模式,它是一个独立运行的进程。原理 哨兵通过发送命令,等待Redis服务器响.原创 2020-09-27 16:32:35 · 543 阅读 · 0 评论