
redis
大树叶
宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。
展开
-
SpringBoot Redis使用fastjson进行序列化
在使用spring-data-redis,默认情况下是使用org.springframework.data.redis.serializer.JdkSerializationRedisSerializer这个类来做序列化,Jackson redis序列化是spring中自带的.我们使用jackson方式@Bean(name="redisTemplate") public RedisTemplate<String, Object> redisTemplate() {转载 2020-07-27 00:56:12 · 2972 阅读 · 1 评论 -
springboot2.0 整合 redis-cluster集群
1. 首先引入依赖pom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.0.0.RELEASE</version> </dependency>2.编写redis工具类.原创 2020-07-26 23:19:33 · 438 阅读 · 0 评论 -
redis-migrate-tool 备份和恢复redis data
安装步骤: 官方代码地址:https://github.com/tanruixing88/redis-migrate-tool 在centos Linux 上面的步骤 在centos7 的主机上安装依赖的编译工具 (automake, libtool, autoconf and bzip2)# yum install -y autoconf# yum install -y...原创 2020-05-07 14:15:42 · 406 阅读 · 0 评论 -
Redis编程实践 pub/sub
Redis或许已经在很多企业开始推广并试水,本文也根据个人的实践,简单描述一下Redis在实际开发过程中的使用(部署与架构,稍后介绍),程序执行环境为java + jedis,关于spring下如何集成redis-api,稍后介绍吧。 前言:下载redis-2.6.2,安装好redis之后,请在redis.conf文件中,将如下3个配置属性开启(仅供测试使用):Xml代转载 2017-08-07 21:20:06 · 909 阅读 · 0 评论 -
推荐: Redis 集群的安装(Redis4.0.x +CentOS7.4.x )
一、参考文档Redis 官方集群指南: http://redis.io/topics/cluster-tutorialRedis 官方集群规范: http://redis.io/topics/cluster-specRedis 集群指南(中文翻译,紧供参考): http://redisdoc.com/topic/cluster-tutorial.htmlRedis 集群规范(中文翻译,紧...原创 2018-07-01 14:34:46 · 1380 阅读 · 0 评论 -
搭建基于 centos 的 Redis 哨兵模式 (4.0.6)
linux版本是Centos 7.4.x。Redis官方下载tar.gz官方网站:https://redis.io/download.环境架构:1)master redis server: bind 10.70.27.102) slave redis server: bind 10.70.27.8step: 1. 建议把主和从的redis服务器的防火墙都关闭(主和从原创 2017-12-24 10:48:54 · 2426 阅读 · 0 评论 -
CentOs7 搭建基于最新版 Redis 集群环境
我在当前的项目建设过程中,使用到了 Redis 的集群,主要是用来减轻数据库的压力和页面加载速度,说的直接点就是增强用户的体验感,其实 Redis 集群搭建看似简单(我当时也是这么想的),但在实际 Redis 集群搭建的过程中也遇到了一些问题,但通过不懈的努力再加上各种解决问题的手段,最后终于解决了。为了帮助广大同行也是为了帮助自己,在实际的开发过程中提高开发效率和解决 Redis 集群搭转载 2017-12-31 23:24:30 · 322 阅读 · 0 评论 -
Redis的哨兵模式第一次主从切换成功,再次进行主从切换就不行了,怎么破?
第一次主挂掉,将从切为主成功;然后重启挂掉的主,哨兵提示被识别为从;然后再次关闭现在的主,从库切换就失败了,一直提示no good slave,请问要如何设置,让第二次主从也能顺利切换?我在centOS7.4上用redis 4.0.6没有碰到这个问题,可以多次切换。感觉这个问题应该是配置的问题。当一个master配置为需要密码才能连接时,客户端和slave在连接时都需要原创 2017-12-31 21:55:59 · 6200 阅读 · 1 评论 -
推荐:Redis Sentinel实现的机制与原理详解
序言Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。它的主要功能有以下几点监控:Sentinel不断的检查master和slave是否正常的运行。通知:如果发现某个redis节点运行出现问题,可以通过API通知系统管理员和其他的应用程序原创 2017-12-31 20:07:50 · 371 阅读 · 0 评论 -
Redis集群:集群常用命令及说明
Redis集群:集群常用命令及说明一、本文目的 介绍集群的基本情况及常用命令 二、集群的特点 3、集群优缺点三、集群客户端命令(redis-cli -c -p port)集群cluster info :打印集群的信息cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。节点cluster meet <ip> <port...转载 2018-02-28 11:54:06 · 10282 阅读 · 0 评论 -
redis cluster 添加 删除 重分配 节点
edis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。一,redis cluster命令行查看复制打印?//集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 //节点(node) CLUSTER MEET <ip> <p...转载 2018-02-28 15:03:47 · 521 阅读 · 0 评论 -
redis cluster 性能探讨
一些总结:1. 多线程对同一个 Key 操作时, Redis 服务是根据先到先作的原则,其他排队(可设置为直接丢弃),因为是单线程。 2. 修改默认的超时时间,默认 2 秒。但是大部份的操作都在 30ms 以内。3. 对集群来说,3.1 一般来说普通的服务器都是 50K~100K 级别 GET 操作并发(每个核心)这个水平,根据具体的部署方法和配套工具,会有浮动 对本机的普通 Redis (非集群...原创 2018-02-28 17:41:09 · 1815 阅读 · 0 评论 -
推荐 redis的高级事务CAS(乐观锁)
Optimistic locking using check-and-set(乐观锁)乐观锁介绍:watch指令在redis事物中提供了CAS的行为。为了检测被watch的keys在是否有多个clients同时改变引起冲突,这些keys将会被监控。如果至少有一个被监控的key在执行exec命令前被修改,整个事物将会回滚,不执行任何动作,从而保证原子性操作,并且执行exec会得到null的回复。乐观...转载 2018-03-20 23:18:44 · 3813 阅读 · 0 评论 -
Redis地理空间(geospatial)介绍和简单使用
在Redis最新的3.2版本中加入了地理空间(geospatial)以及索引半径查询的功能,这在需要地理位置的应用上或许可以一展身手,先来看下官网对geospatial的介绍Adds the specified geospatial items (latitude, longitude, name) to the specified key. Data is stored into the key...转载 2018-04-26 23:26:15 · 2413 阅读 · 0 评论 -
Redis 可以用来做数据库吗
https://www.zhihu.com/question/19660689很久以前的问题了,Redis 又发展了两三年,数据结构更丰富了,使用场景增多,Redis 3.0支持集群(cluster)模式。 是否可以用来作为数据库,还是看业务,架构是技术对业务妥协的结果! Redis在新浪微博有很多应用,主要是用来存关注关系。新浪微博大多数的数据还是落地到mysql的,按照那边DB组同学说法,m...原创 2018-04-26 23:37:57 · 12384 阅读 · 0 评论 -
redis 备份和恢复 :redis-dump安装与导出redis数据
这里说下redis-dump的安装和简单使用一、安装redis-dumpredis-dump安装的时候一般都会遇到下面的错误:ERROR: Error installing redis-dump:redis requires Ruby version >= 2.2.2.所以这里我直接按照解决方案来安装redis-dump.1、安装rvm:# gpg...原创 2018-07-02 17:38:55 · 3974 阅读 · 0 评论 -
Redis 启动警告问题的解决
如果启动前不对linux内核做任何更改,那么redis启动会报出警告,共三个:如下图所示第一个警告:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.意思是:TCP backlog设置值,511没有成...转载 2019-01-18 15:28:14 · 684 阅读 · 0 评论 -
关于缓存穿透、缓存并发、热点缓存的讨论
我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透 缓存雪崩 缓存失效下面的文章就专门来讲这些技术(个人mark一下)http://blog.didispace.com/chengchao-huancun-zuijiazhaoshi/https://blog.csdn.net/Mr_Yanghao/article/details/7...转载 2019-01-08 23:40:13 · 215 阅读 · 0 评论 -
RedisTemplate的key默认序列化器问题
1. 【RedisTemplate的key默认序列化器问题】https://blog.csdn.net/skymouse2002/article/details/807365772. 【Spring Data操作Redis时,发现key值出现 \xac\xed\x00\x05t\x00\tb】https://blog.csdn.net/yunhaibin/article/details...转载 2019-01-29 15:31:56 · 2117 阅读 · 0 评论 -
使用Redis SETNX 命令实现分布式锁
使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。SETNX命令简介命令格式SETNX key value将 key 的值设为 value,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作。 SETNX 是SET if Not eXists的简写。返回值返回整数,具体为 -转载 2017-10-30 02:08:39 · 675 阅读 · 0 评论 -
Redis为什么使用单进程单线程方式也这么快
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存数据结构简单,对数据操作也简单使用多路 I/O 复用模型第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。多路转载 2017-10-22 21:58:42 · 587 阅读 · 0 评论 -
Redis和Memcached 对比详解
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:1.Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/S原创 2017-06-08 11:15:19 · 589 阅读 · 0 评论 -
spring-data-redis 哨兵配置例子
spring-data-redis 哨兵配置例子edis自带的哨兵确实简化了高可用性的配置,使用起来也比较简单。首先是spring-redis-sentinel.xml(文件名可以随意命名)配置文件:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w原创 2017-05-29 11:50:35 · 3098 阅读 · 0 评论 -
Redis的快照功能
引言: Redis是基于内存的数据库,同时也提供了若干持久化的方案,允许用户把内存中的数据,写入本地文件系统,以备下次重启或者当机之后继续使用。本文将描述如何基于Redis来设置这些功能。 快照的设置 a. 设置Redis.conf配置文件 Redis快照写入的频率 save 900 1 save 300 10 sav转载 2017-05-28 21:30:46 · 994 阅读 · 0 评论 -
Redis的AOF功能
引言: Redis是基于内存的数据库,同时也提供了若干持久化的方案,允许用户把内存中的数据,写入本地文件系统,以备下次重启或者当机之后继续使用。本文将描述如何基于Redis来设置AOF功能什么是Redis的AOF?AOF是AppendOnly File的缩写,是Redis系统提供了一种记录Redis操作的持久化方案,在AOF生成的文件中,将忠实记录发生在Redis的操转载 2017-05-28 21:14:23 · 654 阅读 · 0 评论 -
redis 配置文件redis.conf参数说明
# By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程原创 2017-05-28 21:01:30 · 813 阅读 · 0 评论 -
Redis 设计与实现
http://redisbook.readthedocs.io/en/latest/feature/transaction.htmlRedis 通过 MULTI 、 DISCARD 、 EXEC 和 WATCH 四个命令来实现事务功能, 本章首先讨论使用 MULTI 、 DISCARD 和 EXEC 三个命令实现的一般事务, 然后再来讨论带有 WATCH 的事务的实转载 2017-05-26 02:40:32 · 848 阅读 · 0 评论 -
spring 中 Spring-data-redis的配置与使用
[+]介绍spring-Data-Redis项目(简称SDR)是对Redis的Key-Value数据存储操作提供了更高层次的抽象,提供了一个对几种主要的redis的Java客户端(例如:jedis,jredis,jdbc-redis等)的抽象,使开发中可以几乎完全屏蔽具体使用客户端的影响,使业务代码保持较强的稳定性。Spring-Data-Redis提供了一个基础的泛型Re原创 2017-04-10 13:39:22 · 3819 阅读 · 0 评论 -
Redis keys 性能问题
目录(?)[+](一)keys命令的使用进入Redis-cli之后,我们通常比较关心的是有哪些key(ps:当然也可以用其他客户端工具),那么就不得不说keys命令keys pattern11获取当前库下的所有keykeys *11如下图所示,存在四个key:redis01、redis11、hbase01、hbase11keys支转载 2017-04-07 17:54:08 · 1797 阅读 · 0 评论 -
spring中redistemplate不能用通配符keys查出相应Key的问题
有个业务中需要删除某个前缀的所有Redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除。但是在keys(patten+"*")时每次取出的都为空。解决问题:spring中redis配置中,引入StringRedisTemplate而不是RedisTemplate,StringRedisTemplate本身继承自RedisTemplate,原创 2017-02-15 16:54:30 · 22044 阅读 · 1 评论 -
redis 集群常用命令及说明
Redis集群常用命令及说明一、本文目的 介绍集群的基本情况及常用命令 二、集群的特点 3、集群优缺点三、集群客户端命令(redis-cli -c -p port)集群cluster info :打印集群的信息cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关转载 2017-05-29 23:11:04 · 3287 阅读 · 0 评论 -
批量删除redis 数据库中redis key的方法
批量删除redis 数据库中redis key的方法如下:bin/redis-cli –h -p 6379 -n -a keys "mykeys*" | xargs bin/redis-cli -n del原创 2017-05-10 16:16:56 · 1535 阅读 · 0 评论 -
spring-data-redis : Spring 提供的 redis客户端工具包
Spring-data-redis是 Spring大家族的一部分,提供了在Spring应用中,通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。从这一点它比流行的JRedis好用,容易上手。转载 2017-06-05 17:02:17 · 2806 阅读 · 0 评论 -
Redis Memcached 全方位大比拼
Redis 和 Memcached 在选型上一直是个热门的话题。好多人想都不想,选用 Redis ,认为 Redis 的高IO性能。其实不然,还是得看在什么应用场景上。那么我们来探讨一下他们的相同点和不同点,然后再进行分析。一、Redis 和 Memcached的相同点。 让我们先从二者的相似之处谈起。 Memcached 与 Redis 都属于内存内、转载 2017-06-14 11:05:14 · 495 阅读 · 0 评论 -
如何搭建一个 Redis 集群
http://www.redis.cn/topics/cluster-tutorial.html本文档是Redis集群的一般介绍,没有涉及复杂难懂的分布式概念的赘述,只是提供了从用户角度来如何搭建测试以及使用的方法,如果你打算使用并深入了解Redis集群,推荐阅读完本章节后,仔细阅读 Redis 集群规范 一章。本教程试图提供最终用户一个简单的关于集群和一致性特征的描述转载 2017-06-24 21:24:30 · 2214 阅读 · 0 评论 -
Memcached 及 Redis 架构分析和比较
Memcached和Redis作为两种Inmemory的key-value数据库,在设计和思想方面有着很多共通的地方,功能和应用方面在很多场合下(作为分布式缓存服务器使用等) 也很相似,在这里把两者放在一起做一下对比的介绍 基本架构和思想 首先简单介绍一下两者的架构和设计思路 Memcached Memcached采用客户端-服务器转载 2017-06-09 16:07:35 · 366 阅读 · 0 评论 -
redis和memcached的区别(总结)
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;4、过期策略--memcache在set时就指定,例如se转载 2017-06-09 10:28:23 · 3896 阅读 · 0 评论 -
redis和mysql各自存储不同的数据
看到很多网站都是用redis作为mysql的缓存使用。但redis不是自身就可以持久化吗?是否可以让redis和mysql各自存储不同的数据?另外,redis是单线程的,在OLTP系统中,是否会出现性能问题? 首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql原创 2017-06-20 16:16:05 · 1816 阅读 · 0 评论 -
Redis 发布/订阅机制原理分析
序:使用订阅发布功能的时候想查一下客户端是如何接收消息的(客户端订阅了频道之后也会注册一个回调函数,服务端publish消息之后回调函数会获取到消息。这块没看到太多内容只有C++的源码),无意中查到这篇博客写的简单明了。转一下也做一个记录。Redis 通过 PUBLISH 、 SUBSCRIBE 和 PSUBSCRIBE 等命令实现发布和订阅功能。 这些命令被广泛用于构建即时通信应用,比转载 2017-06-19 09:13:58 · 515 阅读 · 0 评论 -
Java实现Redis发布/订阅
redis的发布/订阅模式是消息机制之一,另外一个叫生成者消费者模式。Redis发布订阅模式讲解可以参考菜鸟教程的这篇文章http://www.runoob.com/redis/redis-pub-sub.html。 1、Redis发布订阅模式客户端实现。在打开Redis服务器后,再打开两个客户端,客户端1用来接收消息,客户端2用来发布消息。客户端1订阅bar频道。格式:SUBSCR转载 2017-06-19 09:08:48 · 1628 阅读 · 1 评论