![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 84
Amazing_deron
绝知此事要躬行。
展开
-
Redis持久化
Redis持久化原创 2022-09-05 16:50:47 · 157 阅读 · 0 评论 -
Redis过期删除、内存淘汰策略
Redis过期删除、内存淘汰策略原创 2022-09-05 16:49:37 · 162 阅读 · 0 评论 -
Redis集群模式
1.为了达到redis数据库的高可用,所以需要在单机的基础上建立集群,有以下几种集群模式:1、主从复制2、哨兵模式3、Redis官方提供的Cluster集群模式(服务端)4、Jedis sharding集群(客户端sharding)5、利用中间件代理,比如豌豆荚的codis等主从复制1.主从环境搭建:如要把ip地址为192.168.17.102的redis机器加入到ip地址为192.168.17.101的机器作为从服务器,可以通过下面方式:1.ip地址为192.168.17.原创 2020-11-24 23:07:22 · 198 阅读 · 1 评论 -
redis持久化
redis持久化redis是一个内存数据库,如果宕机会导致数据丢失,对于业务来说自然是不允许的,redis通过持久化机制写到磁盘中保证数据不丢失。RDB快照RDB会单独创建一个子进程(fork)来进行持久化,整个过程中,主进程不需要进行任何IO操作,保证了主进程的性能。rdb快照的原理是对redis中的数据进行周期性的持久化,也可以理解为redis每隔一段时间就把当前内存数据的状态持久化到磁盘中。如何触发RDB:1.自动触发:通过配置文件中的save自动触发# save "" save原创 2020-11-11 20:53:27 · 109 阅读 · 0 评论 -
redis过期删除、redis内存淘汰策略
redis过期删除redis的过期删除策略是:惰性删除和定期删除配合使用。1.定期删除由redis.c/activeExpireCycle 函数实现,函数每秒运行10次,每次运行时,都从一定数量的数据库中取出一定数量的随机键进行检查,并删除其中的过期键。可以通过修改配置文件redis.conf 的 hz 选项来调整这个次数,但是不建议将这个值设置超过 100,否则会对CPU造成比较大的压力。因为key太多,如果全盘扫描所有的key会非常耗性能,所以是随机抽取一些key来删除。这样就有可能删除不完,需原创 2020-11-11 11:58:09 · 262 阅读 · 1 评论 -
缓存雪崩、缓存击穿、缓存穿透
缓存击穿缓存击穿是对热点数据大批量请求时,这个热点数据的key过期了,导致大量请求涌入到数据库中,导致数据库压力骤增。解决方案:在缓存失效后更新缓存时先获取分布式锁,拿到锁的线程可以查询数据库并更新缓存数据,如果获取分布式锁失败,证明有线程正在查询数据库并更新,每隔一秒重试拿锁重试三次,三次后可以返回状态:数据正在更新,请稍后重试。缓存穿透缓存穿透是访问一个数据库和缓存中都不存在的数据,而用户不断发起请求,比如访问id为-1或者一个非常大的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。原创 2020-05-27 16:29:03 · 241 阅读 · 0 评论 -
Redis使用笔记
redis是一个非关系型数据库,速度极快,基于key-value存储,redis是单线程的。redis为什么这么快(官方说可以达到100000的QPS(每秒查询次数)):1.Redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度极快;2.数据结构简单,对数据操作也简单;3.采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者...原创 2019-09-11 19:00:30 · 230 阅读 · 0 评论 -
redis命令
1.首先需要安装好redis2.连接到本地的redis数据库# redis-cli3.连接到其他服务器的redis# redis-cli -h192.168.1.1004.选择要操作的数据库redis上默认有16个库,0-15为序号选择第六个,# select 5返回ok表示成功切换数据库5.列出所有的key# keys *6.退出Ctrl + C...原创 2019-09-16 16:04:07 · 199 阅读 · 0 评论 -
Redis使用管道PipeLine
PiplinePipline指的是管道技术,指的是客户端允许将多个请求依次发给服务器,过程中而不需要等待请求的回复,在最后再一并读取结果即可,Redis很早就支持管道(Pipline)技术。(因此无论你运行的是什么版本,你都可以使用管道操作Redis)普通请求模型Pipeline请求模型使用场景例子:埋点数据的消费者生产者队列,使用redis中的list类型,把埋点数...原创 2019-11-15 11:01:38 · 1119 阅读 · 0 评论