Redis分布式锁的正确使用姿势

本篇文章将详细介绍实现redis分布式锁的几种方式已经存在的问题,并提供最终的解决方案。还介绍如何实现等待锁。 setnx 命令 当且仅当key不存在时,将key的值设置为value。若给定的key已经存在(返回0),则setnx不做任何操作(返回1)。加锁解锁伪代码如下:

查看详情

Jedis 连接池 详解

连接池配置建议 建议 maxTotal = maxIdle 这样就避免了连接池伸缩带来的性能干扰。如果您的业务存在突峰访问,建议设置这两个参数的值相等;如果并发量不大或者maxIdle设置过高,则会导致不必要的连接资源浪费。

查看详情

Redis Cluster 详解

Redis Cluster要求至少需要3个master才能组成一个集群,同时每个master至少需要有一个slave节点。各个节点之间保持TCP通信。当master发生了宕机, Redis Cluster自动会将对应的slave节点提拔为master,来重新对外提供服务。

查看详情

Redis持久化 - AOF 篇

AOF( append only file )持久化以独立日志的方式记录每次写命令,并在 Redis 重启时在重新执行 AOF 文件中的命令以达到恢复数据的目的。AOF 的主要作用是解决数据持久化的实时性。

查看详情

Redis内存优化细节

embstr编码是专门用于保存短字符串的一种优化编码方式,跟正常的字符编码相比,字符编码会调用两次内存分配函数来分别创建redisObject和sdshdr结构,而embstr编码则通过调用一次内存分配函数来分配一块连续的空间,空间中一次包含redisObject和sdshdr两个结构。

查看详情

Redis 内存全面详解

Redis使用的内存总量,它包含了实际缓存占用的内存(包含虚拟内存)和Redis自身运行所占用的内存(如元数据、lua)。它是由Redis使用内存分配器分配的内存,所以这个数据并没有把内存碎片的内存给统计进去。

查看详情