Redis
文章平均质量分 90
王树民
大JAVA
展开
-
redis使用rdb恢复数据
redis中存在rdb备份和aof备份两种方式。如果在redis多个节点发生雪崩时,我们往往使用定期冷备rdb或者aof文件,去恢复数据的方式,但往往数据量较大时rdb恢复更加的快速,毕竟aof保存的为操作指令的日志!*而且在redis启动时 我们往往采用“双开”的持久化方式,所以问题来了!!!在aof和rdb同时开启时,仅仅使用rdb方式恢复时不起作用的,因为redis会优先使用aof恢复,但由于aof不存在则会创建一个新的aof文件,导致恢复的是空的aof指令。所以话不多说直接上方案!...原创 2020-12-01 20:15:53 · 1347 阅读 · 0 评论 -
Redis Save 与 BGSAVE 的区别
一,save保存数据到磁盘的方式:Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。语法redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE返回值保存成功时返回 OK 。二,BGSAVE保存数据到磁盘的方式:BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续...原创 2020-12-01 15:07:32 · 647 阅读 · 0 评论 -
Redis基础用法、高级特性与性能调优以及缓存穿透等分析
目录一、Redis介绍 二、Redis数据结构及常用的命令 三、Redis持久化策略选择 四、内存管理与数据淘汰机制 五、Redis过期策略及实现原理 1 说明 2 设置过期时间 3 三种过期策略 4 Redis采用的过期策略 六 Redis事务实现 七 Redis分布式锁实现 八 缓存穿透、缓存击穿、缓存雪崩、热点数据失效 1、缓存穿透 2、缓存击穿 3、缓存雪崩 4、解决热点数据集中失效问题 九 Redis如何快速删除1...原创 2020-12-01 14:58:33 · 310 阅读 · 0 评论 -
Redis中删除过期Key的三种策略
项目中有个接口要频繁调用查询数据库中的数据,为了降低数据库的压力,所以把一部分记录先缓存在redis中,对redis中的数据设置了期限。今天无意间发现一个问题,使用dbsize查询出来的数量,比实际缓存量要高一部分。用redis-cli keys '*'|wc -l1获取到的数据和实际情况是一样的。如下面两图:对比发现,redis中key的总量为286957,比数据库中的264032高出了20000多个!为什么会这样呢?查找程序原因,并没有发现逻辑问题。查找redis相关资料,发现原来是red原创 2020-09-28 08:54:36 · 813 阅读 · 0 评论 -
redis过期数据备份
aof是以记录命令方式bai,所以如果还没过期du,那么不会有变更zhi的命令,如果过期,会在aof日志插入一条daodel命令。rdb的话是内存快照方式,如果持久化时,key已经过期,那么不会持久化,如果在过期之前就已经持久化了,那么在恢复数据时,会判断key是否过期,如果过期不会导入。...原创 2020-09-28 08:51:48 · 173 阅读 · 0 评论 -
Redis使用pipeLine批量获取数据加快接口响应速度
RedisClientRedisMultiGet一、背景需求: redis通过tcp来对外提供服务,client通过socket连接发起请求,每个请求在命令发出后会阻塞等待redis服务器进行处理,处理完毕后将结果返回给client。 其实和一个http的服务器类似,一问一答,请求一次给一次响应。而这个过程在排除掉redis服务本身做复杂操作时的耗时的话,可以看到最耗时的就是这个网络传输过程。每一个命令都对应了发送、接收两个网络传输,假如一个流程需要0.1秒,那么一秒最多只能处理1...原创 2020-05-25 09:17:48 · 1773 阅读 · 0 评论 -
RedisCluster使用pipeline批量读取数据
Vi_NSN 2017-12-03 21:38:40 7351 已收藏 1展开 因为公司的Redis是Cluster的,一共有三台主机,有个需求是同时读取三千条数据,因为是Cluster,所以没办法直接使用mget。 目前在网上找到的方法有两种,一种是写入时处理,一种是读取时处理。 先说一下RedisCluster针对每条数据的写入的方法。RedisCluster一共有16384个slot(槽位),cluster每一个节点分管一部分slot。当有数据写入时,当用户put或者是get一个数据...原创 2020-05-25 09:16:42 · 1895 阅读 · 1 评论 -
Redis中PipeLine使用(二)---批量get与批量set
Kevin.Yang 2015-11-04 17:28:47 27769 收藏 2展开批量查询的相关问题总结再做测试之前首先向redis中批量插入一组数据1-->12-->23-->34-->45-->56-->6123456现在批量get数据for (Entry<String,String> entry :map.entrySet()) { pipe.get...原创 2020-05-25 09:15:51 · 1738 阅读 · 0 评论 -
rediscluster
redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。现在的2.x的稳定版本是2.8.19,也是我们项目中普遍用到的版本。redis在年初发布了3.0.0,官方支持了redis cluster,也就是集群。至此结束了redis 没有官方集群的时代,之前我们用redis cluster用的最多的应该是twitter 发布的Twemproxy(https:/...原创 2020-04-29 11:16:03 · 515 阅读 · 0 评论 -
Java之——redis并发读写锁,使用Redisson实现分布式锁
原创冰 河 最后发布于2017-06-21 00:32:11 阅读数 27298 已收藏展开MySQL由浅入深介绍MySQL的各项技术,从应用到原理再到源码分析,一步步带你通向MySQL成神之路冰 河¥9.90去订阅转载请注明出处:http://blog.csdn.net/l1028386804/article/details/73523810最近由于工作很忙,很长时间没...原创 2020-04-10 09:30:59 · 510 阅读 · 0 评论 -
一文带你了解Redis哨兵模式和高可用集群解析(万字长文)
java互联网架构2019-12-01 12:00:00前言Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要手动将从节点晋升为主节点,同时还要通知客户端更新主节点地址,这种故障处理方式从一定程度上是无法接受的。Redis 2.8 以后提供了Redis Sentinel 哨兵机制来解决这个问题。正文1. Redis高可用概述...转载 2020-02-26 11:35:35 · 204 阅读 · 0 评论 -
4.客户端连接redis集群:
4.客户端连接集群:[java] view plain copy redis-cli -c -h 127.0.0.1 -p 7001 127.0.0.1:7001> info # Server redis_version:4.0.1 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c2421362bb182556 ...转载 2018-03-27 11:35:01 · 21195 阅读 · 0 评论 -
CentOS之——"/proc/sys/net/ipv4/ip_forward" E667: Fsync failed解决方式
2016年09月22日 23:40:49冰 河阅读数:4195更多所属专栏:Linux版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l1028386804/article/details/52629591转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52...转载 2019-04-11 11:01:32 · 1322 阅读 · 0 评论 -
redis学习笔记之十二:使用redis-trib.rb来操作集群
2018年08月09日 19:28:53yuyivie1阅读数:563n 使用redis-trib.rb来操作集群redis-trib.rb是Redis源码中提供的一个辅助工具,可以非常方便的来操作集群,它是用ruby写的,因此需要在服务器上安装相应环境1:安装Ruby(1)下载ruby安装包,地址https://www.ruby-lang.org/en/downloads/...转载 2019-04-11 11:02:19 · 403 阅读 · 0 评论 -
centos 7 内核参数优化
2017年12月20日 18:50:18延瓒@Yankerp阅读数:947更多所属专栏:Linux入门到熟练版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39591494/article/details/78856370fs.file-max = 999999:这个参数表示进程(比如一个worker进程)可以同时打...转载 2019-04-11 11:12:42 · 4781 阅读 · 0 评论 -
linux内核调优tcp_max_syn_backlog和somaxconn的区别
2018年05月28日 18:30:27chuixue24阅读数:2526The behavior of the backlog argument on TCP sockets changed with Linux 2.2. Now it specifies the queue length for completely established sockets waiting...转载 2019-04-11 13:37:17 · 819 阅读 · 0 评论 -
当前服务器的并发连接数查看项目环境是centos 5.6下
当前服务器的并发连接数查看最近在测试项目,项目环境是centos 5.6下,nginx,mysql,php环境的项目,数据库的数据量较大,每个表都是近亿级别的数据,多表轮询查询。linux的最大并发允许的链接:查看当前服务器的并发连接数命令:查看使用了多少连接数:cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count新版...转载 2019-04-11 13:39:23 · 225 阅读 · 1 评论 -
vim全局替换命令
vim全局替换命令语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g[addr] 表示检索范围,省略时表示当前行。如:“1,20” :表示从第1行到20行;“%” :表示整个文件,同“1,$”;“. ,$” :从当前行到文件尾;s : 表示替换操作[option] :表示操作类型如:g 表示全局替换;c 表...转载 2019-04-09 13:46:43 · 178 阅读 · 0 评论 -
Linux 关于Transparent Hugepages的介绍
Linux 关于Transparent Hugepages的介绍2015-07-23 16:54 by 潇湘隐者,30497阅读,1评论,收藏,编辑透明大页介绍Transparent Huge Pages的一些官方介绍资料:Transparent Huge Pages(THP)are enabled by default in RHEL 6 for all appl...转载 2019-04-09 14:44:45 · 382 阅读 · 0 评论 -
redis集群密码设置
1、密码设置(推荐)方式一:修改所有Redis集群中的redis.conf文件加入:masterauth passwd123 requirepass passwd123 说明:这种方式需要重新启动各节点方式二:进入各个实例进行设置:./redis-cli -c -p 7000 config set masterauth passwd123 config set ...转载 2019-04-22 11:48:21 · 595 阅读 · 0 评论 -
redis 集群 数据丢失及解决方案 AOF RDB 数据恢复
Redis资料汇总专题 :http://blog.nosqlfan.com/html/3537.htmlRedis的数据回写机制Redis的数据回写机制分同步和异步两种,同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。 异步回写即BGSAVE命令,主进程fork后,复制自身并通过这个新的进程回写磁盘,回写结...转载 2019-08-23 15:32:30 · 1855 阅读 · 0 评论 -
/proc/sys/net/ipv4/ 下参数理解,方便服务器优化
/proc/sys/net/ipv4/ 下参数理解,方便服务器优化2017年06月02日 16:52:27庞叶蒙阅读数:2686/proc/sys/net/ipv4/下文件:1) /proc/sys/net/ipv4/ip_forward该文件表示是否打开IP转发。0,禁止1,转发基本用途:如VPN、路由产品的利用;原理图:缺省设置:02) /pro...转载 2019-04-11 11:00:48 · 1064 阅读 · 0 评论 -
Redis3.0.1集群环境搭建
2015年06月04日 16:12:29雨花山人阅读数:1315版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tzszhzx/article/details/46363353需要安装(ruby-2.2.2.tar.gz/rubygems/zlib/openssl/redis-3.2.1.gem) 1、准备工...转载 2019-04-11 10:59:41 · 193 阅读 · 0 评论 -
为什么说Redis是单线程的以及Redis为什么这么快!
为什么说Redis是单线程的以及Redis为什么这么快!2018年03月08日 22:54:28萧曳丶阅读数:30675标签:NoSQLRedis更多个人分类:NoSQLRedis一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这...转载 2019-04-11 10:58:29 · 277 阅读 · 0 评论 -
维护节点redis集群节点
1.1 1.1.1 添加主节点集群创建成功后可以向集群中添加节点,下面是添加一个master主节点 Ø 添加7007结点作为新节点执行命令:./redis-trib.rb add-node 127.0.0.1:7007 127.0.0.1:7001 Ø 查看集群结点发现7007已添加到集群中 1.1.2 hash槽重新分配添加完主节点需要对主节点进行hash槽分配,这样该主节才可以存储数据...原创 2018-03-27 14:11:55 · 263 阅读 · 0 评论 -
Redis Cluster 初探(1) - 集群搭建与扩容
Redis Cluster 初探(1) - 集群搭建与扩容转载 2016年08月09日 10:42:37标签:redis1850转:http://www.jianshu.com/p/bd7bf38d9b87Redis Cluster 初探(1) - 集群搭建与扩容字数2278 阅读154 评论0 喜欢2Redis Cluster是Redis官方的集群实现方案,在此之前已经有一些民间的第三方Redi...转载 2018-03-27 13:33:30 · 142 阅读 · 0 评论 -
4. 动态添加节点 4.1. 准备两个redis做主备
安装文档1. 安装依赖 yum -y install gcc yum -y install gcc-c++ yum -y install ruby yum -y install rubygem* yum -y install ruby-rdoc yum -y install ruby-devel rubygems rpm-build gem install redis2. 部署方案1. 安装实例 ...原创 2018-03-27 13:15:21 · 292 阅读 · 0 评论 -
连接集群
总用量 40-rwxr--r--. 1 wangshumin wangshumin 738 8月 22 2017 bindstart.shdrwxr-xr-x. 2 wangshumin wangshumin 4096 3月 23 01:28 redis7001drwxr-xr-x. 2 wangshumin wangshumin 4096 3月 23 01:28 redis7002drw...原创 2018-03-27 11:45:29 · 736 阅读 · 0 评论 -
[ERR] Node 192.168.1.77:7000 is not empty. Either the node already knows other nodes (check with CLU
[ERR] Node 192.168.1.77:7000 is not empty. Either the node already knows other nodes (check with CLU原创 2017年11月21日 14:39:18标签:redis /集群169[ERR] Node 192.168.1.77:7000 is not empty. Either the node alr...转载 2018-03-27 11:33:40 · 4539 阅读 · 0 评论 -
redis3.0.2 集群安装详细步骤
redis3.0.2 集群安装详细步骤 (2015-06-23 16:02:50)转载▼标签: 美食 分类: redis准备了3台机器,每台机器上面起7000 和7001端口http://download.redis.io/releases/redis-3.0.2.tar.gz解压后到包里面makemake install 安装就好了创建集群需要的目录 mkdir /usr/local/redis...转载 2018-03-27 11:33:20 · 669 阅读 · 0 评论 -
Redis入门到精通-Redis集群搭建
Redis入门到精通-Redis集群搭建原创 2017年10月22日 14:28:53标签:redis /内存 /内存数据库 /性能 /数据库371在Redis3.x之前,提供了sentinel工具来监控各个Master的状态,如果Master异常,则会做主从切换,将slave作为Master。其配置也是稍微的复杂,并且各方面表现一般。 现在redis3.x已经支持集群的容错功能,并且非常简单。...转载 2018-03-27 10:54:07 · 211 阅读 · 0 评论 -
linux 修改文件用户组和所有者
linux 修改文件用户组和所有者原创 2016年11月06日 20:47:0376761. linux下修改文件用户组chgrp: change group的简写,修改文件所属的用户组。[java] view plain copychgrp users test.log 修改后查看 ls -l[java] view plain copy-rwxrwx--- 1 work users 0 Ju...转载 2018-03-27 09:31:43 · 500 阅读 · 0 评论 -
Redis 学习笔记(十五)Redis Cluster 集群扩容与收缩
Redis 学习笔记(十五)Redis Cluster 集群扩容与收缩原创 2017年06月07日 10:02:44标签:redis /集群 /博客 /通信 /源码5237Redis Cluster 集群伸缩1. 伸缩原理Redis提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以对下线节点进行缩容。我们在Redis Cluster 介绍与搭建这篇文章中...转载 2018-03-28 09:03:49 · 334 阅读 · 0 评论 -
启动服务的时候报错:'slaveof 127.0.0.1 7005' slaveof directive not allowed in cluster mode
redis集群与主从复制的关系原创 2016年08月03日 17:43:15660今天,想在6个redis服务的集群上,配置固定的主从复制。因为之前装集群的时候,发现master和slave是随机的。一开始,redis.conf的内容如下:ort 7000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 50...转载 2018-03-28 09:03:54 · 4166 阅读 · 4 评论 -
Redis-使用redis-trib构建集群
Redis-使用redis-trib构建集群原创 2018年01月03日 09:06:08标签:redis /集群 /redis-trib /spring集成 /cluster219Redis3.0 及其之后的版本提供了 redis-cluster 集群支持,用于在多个redis节点间共享数据,以提高服务的可用性。构建 redis-cluster 集群可以通过 redis-trib.rb 工具来完...转载 2018-03-28 09:04:04 · 422 阅读 · 0 评论 -
Redis Cluster实现
背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力。Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twenproxy、Codis,与其不同的是:Redis Cluster并非使用Porxy的模式来连接集群节点,而是使用无中心节点的模式来组建集群。在Cluster出现之前,只有Sentinel...转载 2019-04-10 13:02:43 · 703 阅读 · 0 评论 -
redis常用指令总结以及功能介绍
2016年12月02日 14:02:58 阅读数:3121 标签: redissentinel集群 更多个人分类: redisjava第一部分 redis的常用指令 一、针对key的操作1.1 del key [key .. ] , 删除指定的一个或者多个key;1.2 dump key ...转载 2018-09-11 08:44:41 · 165 阅读 · 0 评论 -
redis cluster命令行
2018年03月16日 09:43:14 阅读数:264更多个人分类: cache//节点(node) CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。 CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。 CLUS...转载 2018-09-11 08:40:30 · 555 阅读 · 0 评论 -
Redis图形化监控(redis-stat)
Redis图形化监控(redis-stat)2016年02月03日 16:44:20阅读数:37592前言: 之前已经使用过Redis很长一段时间了,基本都是在命令行方面操作,后面发现除了在命令行之外还提供了图形化的一些监控,可以直观的查看Redis各个实例的一个使用情况。以下是常用的一些可以对Redis进行监控的插件:1、redis-stat2、redis-live3、redis-fai...转载 2018-05-01 09:57:18 · 5785 阅读 · 0 评论 -
storm实时消费kafka数据
storm实时消费kafka数据原创 2017年06月05日 16:30:15标签:storm /kafka-java4635程序环境,在kafka创建名称为data的topic,开启消费者模式,准备输入数据。程序的pom.xml文件 <dependencies> <dependency> <groupId>org.apache.storm&...转载 2018-04-05 12:04:13 · 2002 阅读 · 0 评论