memcached过期策略

2023-06-11

1、memcached的过期时间,有一个最大时限就是30天,若超过30天,存储时返回true,但是在取数据的时候取不到(这个key是1秒后过期的)。 2、memcached的缓存失效策略是LRU(最近最少使用)加上到期失效策略。当向memcached存储数据时,你可能会设置一个过期时间,可以是永久也可以是一段时间,但是 ...

详情...

单线程的 Redis 为什么这么快?

2023-02-17

前言 Redis是基于内存运行的高性能 K-V 数据库,官方提供的测试报告是单机可以支持约10w/s的QPS。 但是,在设计上,Redis 采用单线程架构。 为什么单线程设计依然会有这么高的性能?如果利用多线程并发处理请求不是更好吗? 在本文中,让我们深入探讨为什么 Redis 只有单线程架构,依然如此之快,主要从下面 ...

详情...

清缓存要放到事务外部

2023-01-11

对于数据库操作之后的清缓存要放到数据库事务外部 若事务未提交之前清了缓存,在清缓存到事务提交这段时间内,若其他的方重新生成缓存,会生成老数据的缓存 因此若需要清缓存一定要在事务提交之后。 ...

详情...

缓存的三种读写模式

2022-06-19

一、Cache Aside(旁路缓存) 读操作 客户端先读 cache,如果 cache 没有,则读 DB ,同时将从 DB中读取的数据回写到 cache。 写操作 由客户端先更新 DB ,然后直接将 key 从 Cache 中删除,由 DB 来驱动缓存数据的更新。 特点 这种模式的特点是,业务端处理所有数据访问 ...

详情...

缓存构建思想

2022-06-19

缓存的基本思想 缓存构建的基本思想是利用时间局限性原理,通过空间换时间来达到加速数据获取的目的,同时由于缓存空间的成本较高,在实际设计架构中还要考虑访问延迟和成本权衡问题。 时间局限性原理 获取过一次的数据在未来会被多次引用,比如一条微博被一个人感兴趣并阅读后,它大概率还会被更多人阅读,当然如果变成热门微博后,会被数 ...

详情...

使用 redis 实时统计 QPS

2022-02-21

可以利用Redis, 每次访问时添加一个Redis操作 incr Ymdhis 将键名 Ymdhis 过期时间设置为1s EXPIRE Ymdhis 1 需要查看 QPS 时,查看 Ymdhis 值即可 get Ymdhis ...

详情...

单节点 Redis 分布式锁介绍

2022-01-15

分布式锁 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要互斥来防止彼此干扰来保证一致性。 分布式锁需要具备的特性 互斥性:在任意一个时刻,只有一个客户端可以获取锁。 无死锁:即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保 ...

详情...

Redis 禁用O(n) 复杂度方法

2022-01-15

某公司技术部发生2起本年度PO级特大事故,造成公司资金损失400万,原因如下: 由于工程师直接操作上线redis,执行: keys * wxdb(此处省略)cf8* 这样的命令,导致redis锁住,导致CPU飙升,引起所有支付链路卡住,等十几秒结束后,所有的请求流量全部挤压到了rds数据库中,使数据库产生了雪崩效应,发 ...

详情...

Redis 数据过期策略

2022-01-15

对于过期策略,一般有三种可能: 定时删除:在设置键的过期时间时,创建一个定时事件,当过期时间到达时,由事件处理器自动执行键的删除操作。 惰性删除:放任键过期不管,但是在每次从 dict 字典中取出键值时,要检查键是否过期,如果过期的话,就删除它,并返回空;如果没过期,就返回键值。 定期删除:每隔一段时间,对 expi ...

详情...

Redis 配置认证密码方法

2022-01-15

redis配置密码 1.通过配置文件进行配置 redis配置文件通常在redis.conf中,打开配置文件找到 #requirepass foobared 去掉行前的注释,并修改密码为所需的密码,保存文件 requirepass myredispassword 重启redis 这个时候尝试登录redis,发现可以登上, ...

详情...

Redis 主从模式介绍

2022-01-15

slave默认是只读的,可以通过修改 slave-read-only 设置 如果你以前做过MySQL主从服务器的话,两相对比,你会发现Redis主从服务器不用做前期的数据同步,设置好了从服务器,简单启动就OK了。 当Slave启动后,会从Master进行一次冷启动数据同步,由Master触发BGSAVE生成RDB文件 ...

详情...

Redis 持久化介绍

2022-01-15

redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。 redis支持四种持久化方式, 一是 Snapshotting(快照)也是默认方式; 二是Appendonlyfile(缩写aof)的方式; 三是虚拟内存方式; 四是diskstore方式。 主要用 ...

详情...