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