NoSQL

解析Redis Cluster原理

一、前言 Sentinel集群会对Redis的主从架构中的Redis实例进行监控,一旦发现了master节点宕机了,就会选举出一个Sentinel节点来执行故障转移,从原来的slave节点中选举出一个,将其提升为master节点,然后让其他的节点去复制新选...

redis中热key问题该如何解决

引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完。。。(以下省略一万字)。 今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决。 其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压...

redis 设置生存和过期时间的原理分析

在了解原理前 先来看使用方法 通过EXPIRE命令或者PEXPIRE命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间,在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键。 SETEX命令可以在设置一个字符串键的同时为键设置过期...

Spring Boot 项目集成Redis的方式详解

集成方式 使用Jedis Jedis是Redis官方推荐的面向Java的操作Redis的客户端,是对服务端直连后进行操作。如果直接使用Jedis进行连接,多线程环境下是非线程安全的,正式生产环境一般使用连接池进行连接。 <dependency>...

Redis 哈希Hash底层数据结构详解

1. Redis 底层数据结构 Redis数据库就像是一个哈希表,首先对key进行哈希运算得到哈希值再取模得到一个下标,每个元素是一个节点,节点之间形成链表。这感觉有点像Java中的HashMap。 不同的数据类型的实现方式是不一样的,可以通过object...

redis实现的四种常见限流策略

引言 在web开发中功能是基石,除了功能以外运维和防护就是重头菜了。因为在网站运行期间可能会因为突然的访问量导致业务异常、也有可能遭受别人恶意攻击 所以我们的接口需要对流量进行限制。俗称的QPS也是对流量的一种描述 针对限流现在大多应该是令牌桶算法,因为它...

通过redis的脚本lua如何实现抢红包功能

redis 脚本介绍 Redis从2.6版本开始,通过内嵌支持Lua环境 好处 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络延迟 原子操作。redis将整个脚本当作一个整体去执行,中间不会被其他命令插入,无需担心脚本执行过程中会出现竞态条件...

Django使用redis配置缓存的方法

1.settings配置 2.全站缓存 3.视图函数缓存 4.低级缓存 5.session缓存 对于非经常更新的服务器数据,若每次都从硬盘读取一次,会浪费服务器资源、拖慢响应速度,而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对...