分布式缓存
文章平均质量分 81
缓存的应用场景与底层原理,如Redis、GuavaCache、Tbase等
BigBug_500
Talk is cheap.Show me the code.
EmailMeAt:snail.pu@foxmail.com
展开
-
Redis:数据结构、持久化、事务
什么是跳跃表跳跃表是一种有序的数据结构,目的是为了降低单向链表查找的时间复杂度,可降低到O(log(n))~O(n);相比于红黑树来讲,跳跃表实现更简单,插入、删除操作时间复杂度更低。那些地方在使用跳跃表实现有序集合键(SortedSet)集群节点中用作内部数据结构跳跃表的实现跳跃表通过多层存储的不同数据,从顶层向下类似于二分法查找法,查找目标数据更多Redis跳跃表介绍...原创 2019-08-26 17:49:06 · 966 阅读 · 1 评论 -
Redis主从复制、哨兵、集群
为了保证高并发,高性能,高可用性单机 Redis 的存在的问题出现机器故障时,Redis 无法提供服务会出现容量瓶颈主从复制原创 2020-04-14 23:12:21 · 670 阅读 · 0 评论 -
如何保证缓存与 DB 的“高”一致性
无论是本地做缓存还是使用 Redis 做缓存,都会存在数据同步的问题,因为配置信息缓存在内存中,而内存无法感知到数据在数据库的修改。这样就会造成数据库中的数据与缓存中数据不一致的问题。先删除缓存,后更新数据库理想处理流程:可能出现的问题:B 用户可能会得到脏数据B 用户查询数据时,可能会把获取到的脏数据设置到缓存中,带来其他更加严重的影响。可以使用延时双删来解决对于使用主从复制的数据库而言,B 读取数据时可能会出现延迟的现象。实时性要求高的数据要走主库查询,避免延迟。延时双删在写原创 2021-01-18 11:21:52 · 457 阅读 · 0 评论 -
缓存雪崩、击穿、穿透的原因与解决方案
缓存预热 就是在热点数据在使用前,就已经被加载到 Redis 中了。避免出现用户在使用热点数据时,先去数据库查,然后再保存到 Redis 中的过程。缓存雪崩 问题出现原因:在较短时间内,大量的缓存数据集中过期了。如在代码中,对大批量的热点数据设置了30min过期,30min过后,大批量的热点数据都将被 Redis 删除掉,于是便出现了大量的请求需要去操作数据库。解决方案:对热点数据...原创 2020-04-20 23:43:50 · 873 阅读 · 0 评论 -
分布式锁(Redis、Zookeeper、DB实现方式)
分布式锁的简单实现Redisson封装的分布式锁Redisson 框架中对 Redis 的多个操作,是借助 lua 脚本结合 Redis 底层来实现原子性的redis的qps=100w原创 2020-04-11 15:36:20 · 869 阅读 · 1 评论 -
Redis 中 key 的过期时间与删除策略
设置时间后key,这个key时间一直减少原创 2019-03-10 10:54:28 · 2692 阅读 · 0 评论 -
Deprecated - Redis基础
与memcached有什么区别Redis拥有更多的数据结构和操作 Redis本身就支持集群 Redis可以将内存中的数据持久化到磁盘,重启Redis后,又可以将磁盘中的数据读取到内存中 Redis在对100k下的数据存储效率更高 Redis是单线程的多路IO复用模型为什么使用单进程单线程Redis is single threaded. How can I exploit mu...原创 2019-04-21 14:58:41 · 850 阅读 · 1 评论