随笔分类 - Redis
如何为Redis中list中的项设置过期时间
摘要:Redis是一个伟大的工具,用来在内存中存储列表是很合适的。 不过,如果你想要快速搜索列表,同时需要让列表中每项都在一定时间后过期,应该怎么做呢? 首先,当然不能使用不同的类似的key存储数据,然后使用keys命令来获取所有类似key的数据。这样的开销是不可接受的。 Redis并没有直接提供方法做这
阅读全文
redis分布式锁
摘要:分布式锁原理 分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 使用setnx、get
阅读全文
谈谈 缓存和数据库一致性的问题
摘要:通常来说,在我们的系统中会把数据永久保存在DB中,并且冗余一份数据在缓存中。读请求优先从缓存读取数据,没有再从DB读取,如下图: 这样做的好处是可以减小DB的压力,提高请求的响应速度。 但这种架构在提升系统读请求处理能力的同时,给系统写请求的处理带来了不少的麻烦。因为数据在DB跟缓存中各自保存了一份
阅读全文
redis缓存穿透00
摘要:缓存穿透 缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。 一,设置一个默认值,简单粗暴: 如果查询数据库也为空,直接设置一个默认
阅读全文
redis缓存雪崩
摘要:缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中的放入了缓存,假设缓存一个小时。那么到了凌晨一点钟的时候,这批商品的缓存就都过期了。而对这批商品的访问查询,都落到了数据库上,对于数据库
阅读全文
Redis缓存击穿
摘要:缓存击穿 缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。 比如在做电商项目的时候,把这货就成为“爆款”。 其实,大多数情况下这种爆款很难对数据库服务器造成压垮性的压力
阅读全文
如何提高缓存命中率
摘要:缓存命中率的介绍 命中:可以直接通过缓存获取到需要的数据。 不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。 通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力
阅读全文
Redis 以及 Python操作Redis
摘要:Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis有以下特点: -- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 -- Redis支持五种数据类型。 -- Redis支持数据库备份。 Redi
阅读全文
redis 安装
摘要:cd 进入redis安装包中 在这个目录下 调用 make 指令。 对 src 中所有的源码文件,进行源码的编译。 下载、解压、编译Redis $ wget http://download.redis.io/releases/redis-5.0.4.tar.gz $ tar xzf redis-5.
阅读全文
浙公网安备 33010602011771号