
Redis
文章平均质量分 75
Redis学习记录
AF2DBA
这个作者很懒,什么都没留下…
展开
-
redis-shake安装使用
redis-shake是阿里开源的用于redis数据同步的工具,支持的迁移方式如下:恢复restore:将RDB文件恢复到目的redis数据库。备份dump:将源redis的全量数据通过RDB文件备份起来。解析decode:对RDB文件进行读取,并以json格式解析存储。同步sync:支持源redis和目的redis的数据同步,支持全量和增量数据的迁移,支持从云下到阿里云云上的同步,也支持云下到云下不同环境的同步,支持单节点、主从版、集群版之间的互相同步。原创 2021-06-23 09:54:39 · 2703 阅读 · 0 评论 -
Redis内存碎片
什么是内存碎片内存碎片率:mem_fragmentation_ratiomem_fragmentation_ratio指数>1表明有内存碎片,越大表明越多,<1表明正在使用虚拟内存,虚拟内存其实就是硬盘,性能比内存低得多,这是应该增强机器的内存以提高性能。一般来说,mem_fragmentation_ratio的数值在1 ~ 1.5之间是比较健康的。大于1.5表示,系统分配的内存大于Redis实际使用的内存,Redis没有把这部分内存返还给系统,产生了很多内存碎片。在Redis 4原创 2021-05-12 11:16:33 · 1217 阅读 · 0 评论 -
Redis查看当前连接情况Client list
Redis Client List 命令用于返回所有连接到服务器的客户端信息和统计数据。redis 127.0.0.1:6379> CLIENT LIST返回值addr : 客户端的地址和端口fd : 套接字所使用的文件描述符age : 以秒计算的已连接时长idle : 以秒计算的空闲时长flags : 客户端 flagdb : 该客户端正在使用的数据库 IDsub : 已订阅频道的数量psub : 已订阅模式的数量multi : 在事务中被执行的命令数量原创 2021-05-07 17:34:56 · 14690 阅读 · 0 评论 -
Redis Cluster集群原理
redis cluster介绍redis cluster是Redis的分布式解决方案,在3.0版本推出后有效地解决了redis分布式方面的需求自动将数据进行分片,每个master上放一部分数据提供内置的高可用支持,部分master不可用时,还是可以继续工作的。高可用,因为每个master都有salve节点,那么如果mater挂掉,redis cluster这套机制,就会自动将某个slave切换成master在redis cluster 架构下,每个redis 要放开两个端口号,比如一个是 6原创 2020-12-14 15:07:37 · 135 阅读 · 0 评论 -
Redis cluster模式(手动)搭建实操
实操过程 6379(Master) 6380(Master) 6381(Master) 6382(Slave) 6383(Slave) 6384(Slave) Centos7.4 redis 4.0.14 安装redis # yum install gcc gcc-c++ # useradd redis # echo "Redis123" |passwd --stdin redis # su -...原创 2020-11-24 11:57:53 · 206 阅读 · 0 评论 -
Redis sentinel(哨兵)集群原理
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis-Sentinel在发现master宕机后会进行自动切换主从关系。sentinel的作用集群监控:sentinel节点会定期检查redis状态,判断是否故障故障自动切换:在master发生故障时,实现slave晋升成master,并维护后续正确的主从关系提供配置:sentinel会将故障转移的结果通知给客户端,提供最新的ma原创 2020-11-20 15:28:16 · 365 阅读 · 0 评论 -
Redis4.0哨兵(sentinel)集群搭建实操
实操过程主从:192.168.1.119:6379(master)192.168.1.119:6380(slave)192.168.1.119:6381(slave)哨兵:192.168.1.119:26379192.168.1.119:26380192.168.1.119:26381 6379 6380 6381 26379 26380 26381 安装redis # yum install gcc gcc-c...原创 2020-11-19 14:19:45 · 461 阅读 · 0 评论 -
Redis主从复制原理及注意事项
主从复制特点主从复制的作用实现主从复制方法replication工作原理(全量复制)replication工作原理(部分复制)复制中几个重要概念全量及部分复制发生的情况psync2主从复制常见问题主从复制特点主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点.具有以下特点:1.异步复制,从2.8版本开始的。2.允许单个master配置多原创 2020-11-18 14:30:57 · 403 阅读 · 0 评论 -
Redis持久化原理及最佳实践
Redis是内存型数据库,但是为了数据安全,就需要有“数据持久化”(就是将数据存储在磁盘上)的机制,在备份方面提供了两种工具,分别为RDB(快照)和AOF(写日志)。持久化方法RDB:将当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时只需要把dump.rdb这个文件放到redis的dir目录下,启动服务,将快照文件直接读到内存里。注意文件的优先级AOF:记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF .原创 2020-11-06 10:18:35 · 534 阅读 · 0 评论 -
使用scan实现redis keys * 功能(Python3)
redis的keys命令,通来在用来删除相关的key时使用,但这个命令有一个弊端,在redis拥有数百万及以上的keys的时候,会执行的比较慢,更为致命的是,这个命令会阻塞redis多路复用的io主线程,如果这个线程阻塞,在此执行之间其他的发送向redis服务端的命令,都会阻塞,从而引发一系列级联反应,导致瞬间响应卡顿,从而引发超时等问题,所以应该在生产环境禁止用使用keys和类似的命令smembers,这种时间复杂度为O(N),且会阻塞主线程的命令,是非常危险的。取而代之的,如果需要查找然后删除ke.原创 2020-11-04 11:54:42 · 4213 阅读 · 0 评论 -
Redis Pipeline 原理及注意事项
Pipeline介绍Pipeline指的是管道技术,指的是客户端允许将多个请求依次发给服务器,过程中而不需要等待请求的回复,在最后再一并读取结果即可。当client 使用pipelining 发送命令时,redis server必须将部分请求放到队列中(使用内存),执行完毕后一次性发送结果,如果发送的命令很多的话,建议对返回的结果加标签,当然这也会增加使用的内存。Redis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的。由于网络开销延迟,就算redis ser.原创 2020-11-04 11:20:28 · 5274 阅读 · 0 评论 -
Redis慢查询配置及使用方法
慢查询日志慢查询的配置参数慢查询的预设阀值 slowlog-log-slower-than慢查询日志的长度slowlog-max-len慢查询日志的组成慢查询日志的访问和管理慢查询日志最佳实践慢查询日志慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条名利分为如下四部分执行:需要注意的是,...原创 2020-11-04 10:11:05 · 389 阅读 · 0 评论 -
python3操作redis(常用操作)
import redis #pip3 install redis==3.3.11client = redis.Redis(host="10.8.140.151",port=6379,password="123456",db=0)print(client.dbsize())print(client.set('name', 'test'))https://blog.youkuaiyun.com/whatday/article/details/104180853原创 2020-11-03 12:13:20 · 2095 阅读 · 0 评论 -
Redis数据类型和常用操作
通用命令命令 作用 EXPIRE key seconds 为给定 key 设置过期时间 KEYS keys * 命令一般不在生产环境中使用 RANDOMKEY 从当前数据库中随机返回一个 key DBSIZE 查看当前数据库中key的数量 EXISTS key 检查 key 是否存在。存在返回1,不存在返回0 DEL key [key...] 该命令用于在 key 存在时删除 key。 EXPIREAT ke...原创 2020-10-29 13:53:28 · 128 阅读 · 0 评论 -
Redis常见使用场景
热点数据的缓存 缓存是 redis 使用最高的一种使用场景,仅仅使用 set/get 就可以实现。在使用redis存储热点数据的时候需要结合expire设置过期时间。 需要考虑的问题:1、如何更好的设置缓存;2、如何保持缓存与上游数据的一致性;3、如何解决缓存雪崩,缓存击穿问题限时业务 redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。计数器 redis...原创 2020-10-28 10:57:22 · 159 阅读 · 0 评论 -
Redis4.0多实例安装(Centos7)
安装依赖创建redis用户切换用户下载,解压,安装配置环境变量启动实例6379启动实例6380检查实例状态查看实例配置关闭实例安装依赖# yum install gcc gcc-c++创建redis用户# useradd redis# echo "Redis123" |passwd --stdin redis切换用户# su - redis # 以下所有的操作全部都在redis用户下执行下载,解压,安装...原创 2020-10-28 10:09:25 · 141 阅读 · 0 评论