![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 79
由浅入深,详细了解Redis的使用与原理
江Sen
Coding源于生活而高于生活!
展开
-
Redis Cluster
Redis主备集群的每个节点存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成了木桶效应。由于Redis是基于内存存储的,因此这个问题就显得尤为突出。在redis3.0之前,通过在客户端去做的分片,通过hash环的方式对key进行分片存储。sharding分片(客户端分片)虽然能解决各节点的存储压力,但是导致维护成本高、增加/移除节点比较繁琐。因此在redis3.0以后的版本最大的一个好处就是支持集群功能,集群中至少应该有奇数个节点,所以至少有三个节点,官方推...原创 2021-07-02 10:17:38 · 64 阅读 · 0 评论 -
Redis主备+哨兵
虽然Redis有持久化功能保障Redis服务器宕机也能恢复并且只有少量数据损失,但由于所有数据都在一台服务器上,如果服务器出现硬盘故障,那就算有备份也不能避免数据丢失的问题。而且在实际生产环境中,我们不能只使用一台Redis服务器作为缓存服务器,必须要多台服务器,避免单点故障。主从复制 复制的作用是把Redis的数据复制多个副本部署在不同的服务器上,如果其中一台服务器出现故障,也能快速迁移到其他服务器上提供服务。主从复制就是我们常见的master...原创 2021-07-02 10:05:10 · 867 阅读 · 0 评论 -
Redis数据类型与结构
Redis主要支持五种数据类型:String、List、Hash、Set、SortedSet。后续添加了HyperLogLog类型。字符串类型 String类型底层采用int、SDS(Simple Dynamic String)类型来存储字符串内容。int用来存放整型数据,SDS存放字节/字符串和浮点型数据。在C的标准字符串结构下进行封装来提升基本操作的性能,同时也充分利用已有的C的标准库简化实现逻辑。可以在redis的源码中【sds.h】中看到sds的结构如下:typede...原创 2021-07-02 09:55:54 · 115 阅读 · 0 评论 -
Redis原理
过期时间Redis提供两个设置过期时间的方式: expire key seconds setex(String key, int seconds, String value) 实现过期的原理: 消极方式(passive way):在主键被访问时如果发现它已经失效,那么就删除它; 积极方式:周期性的从设置了过期时间的key中选择一部分的key进行删除; 随机测试20个带有timeout信息的key,对已经失效的key进行删除。 如果超过25%的key被原创 2021-06-30 11:26:38 · 153 阅读 · 0 评论 -
Redis常用命令
Redis基础命令 info:查看系统信息; select:选择Keyspace; flushdb:清空当前键空间的数据; flushall:清空所有的键空间的数据; dbsize:查看当前键空间大小; save:人工触发持久化; quit:退出client连接; Redis键命令 set:set key value,设置键值; del:del key,删除键值; keys:keys * ,查找所有符合给定.原创 2021-06-30 11:19:38 · 345 阅读 · 0 评论 -
Redis安装与启动
1.解压Mac下载完Redis的tar包后需要解压。输入tar -zxvf redis-2.8.0.tar.gz命令来解压tar包。2.安装由于此Redis是需要编译安装的,因此进入解压后的Redis目录,执行make命令进行编译。编译后提示可以执行make test命令来进行安装测试,看有没有安装成功,如下图:测试完成后,如果成功会有如下提示:3.启动 进入src目录,执行./redis-server,启动Redis服务端。这种方式会占用命令行。也可以执行./re原创 2021-06-30 11:17:27 · 151 阅读 · 0 评论