精通分布式缓存系列
文章平均质量分 94
深入分享各种缓存技术,涵盖Memcached、Redis、EhCache等主流缓存技术
冰 河
这个作者很懒,什么都没留下…
展开
-
一文带你全面了解缓存最关心的性能指标
当你为系统加上缓存时,有没有考虑过使用缓存需要注意哪些事项呢?原创 2021-12-27 08:15:00 · 1507 阅读 · 2 评论 -
Redis五大数据类型与使用场景汇总!!(含完整实战案例,建议收藏)
冰河熬夜整理了这篇文章,全面讲述了Redis的五大数据类型和使用场景,含完整实战案例,强烈建议收藏!原创 2021-10-14 08:18:04 · 15225 阅读 · 16 评论 -
撸完Spring源码,我为Spring写了个分布式缓存插件,现已开源,快要裂开了!!(建议收藏)
经过三个月的时间,我终于撸完了Spring源码,快要裂开了!!随后,开源了这个分布式缓存框架,冰河强烈建议收藏!!!原创 2021-09-23 08:40:27 · 14565 阅读 · 31 评论 -
【Redis】Redis开篇与如何安装单机版Redis,这次我会了!!
写在前面很早之前,就有不少小伙伴微信留言说:冰河,你能不能写一个Redis专栏啊,我最近在学习Redis,看书看不下去,学习视频又觉得视频太长了,还是看你的文章比较给力!哈哈,原来我写的文章能够让小伙伴们有这么强的动力学习啊!终于安排到写【Redis专题】了。今天是【Redis专题】的开篇,写些什么呢?先简单的介绍下Redis并教大家如何在单机环境中安装Redis吧,也算是对【Redis专题】的开篇吧!如果文章对你有所帮助,请不要吝惜你的点赞、在看、留言和转发,你的支持是我持续创作的最大动力!Re原创 2020-08-17 22:09:34 · 676 阅读 · 0 评论 -
【Redis】Redis集群环境搭建(基于Redis-5.0.9版本)
准备工作用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master、3 salve 环境。redis 采用 redis-5.0.9 版本。两台虚拟机都是 CentOS ,一台 CentOS7(IP:192.168.118.110),一台 CentOS7(IP:192.168.118.111) 。安装过程1. 安装支持的库文件:yum -y install gcc automake autoconf libtool make2. 解压文件:cd /usr/local/原创 2020-06-11 11:26:36 · 1982 阅读 · 0 评论 -
Redisson之——使用Redisson通过自定义注解实现分布式锁,使用Spring AOP简化分布式锁
Redisson概述Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Se...原创 2020-05-01 20:46:24 · 3249 阅读 · 0 评论 -
【Docker】使用docker搭建redis-cluster环境【实测成功】
临时接到一个测试任务,而测试需要用到redis-cluster环境,却没有现成的环境可用,于是只能自力更生搭建测试环境。一开始想采用在宿主机上硬搭,但苦于没有那么多的服务器,于是决定试试docker。以下为详细搭建步骤:基础环境信息基础环境如下所示:CentOS Linux release 7.5.1804Docker version 18.09.4搭建步骤1、下载red...转载 2020-04-22 14:49:44 · 5153 阅读 · 7 评论 -
Docker方式部署redis-cluster
前面我们手工部署了redis-cluster集群,可以看到步骤烦多,现在使用docker的方式部署,非常简单,共分为二步。参考镜像https://github.com/publicisworldwide/docker-stacks/tree/master/oracle-linux/environments/storage/redis-clusterDocker方式部署redis-cluste...转载 2020-04-21 22:15:30 · 1560 阅读 · 0 评论 -
Redis之——Jedis、jedisCluster的使用
1、Jedis客户端https://redis.io/clients2、Jedis源码包与使用介绍https://github.com/xetorthio/jedis3、项目中使用通过maven引入Jedis的依赖包<dependency> <groupId>redis.clients</groupId> <art...转载 2020-03-18 18:06:35 · 7896 阅读 · 0 评论 -
【分布式】分布式环境下如何保证数据库和缓存的双写一致性?看完我明白了!!
写在前面当今时代,互联网高速发展,已然从IT时代进入到DT时代。我们系统的架构也由原来的单体应用,转变为分布式、微服务的架构模式。从数据上来看,数据量越来越大,数据的查询性能越来越低。此时,就需要我们不断的进行优化,一种常用的优化手段就是加入缓存,使用缓存之后,就会带来新的问题:分布式环境下如何保证数据库和缓存的双写一致性?今天,我们就一起来剖析这个问题,并给出相应的解决方案。如何保证数据一致性?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下转载 2020-08-01 17:56:54 · 1841 阅读 · 0 评论 -
记一次缓存服务器迁移史,心塞!
小伙伴们还是要及时更新自己的技术栈啊!!原创 2021-01-10 01:06:38 · 955 阅读 · 1 评论 -
Memcached之——Simple-Spring-Memcached(SSM) 的简单使用
memcached是一种分布式缓存工具,有效提升了按主键检索数据的性能问题。Simple-Spring-Memcached 是memcached与spring 框架整合的一种缓存框架,本质是采用aop的方式实现缓存的调用和管理。其核心组件声明了一些Advice,当遇到相应的切入点时,会执行这些Advice来对memcached 加以管理。Simple-Spring-Memcached 本身不提供c...转载 2018-05-24 19:02:23 · 1664 阅读 · 0 评论 -
Memcached之——simple-spring-memcached缓存搭建
1、添加pom依赖<dependencies> <dependency> <groupId>com.google.code.simple-spring-memcached</groupId> <artifactId>spring-cache</artifactId> ...原创 2018-05-24 18:50:34 · 973 阅读 · 0 评论 -
Memcached之——simple-spring-memcached-3.0.x 注解详解
@CacheName: 指定缓存实例注解@CacheKeyMethod:缓存key生成注解---------------------------------读取-------------------------------------------@ReadThroughAssignCache(assignedKey = "SomePhatKey", namespace = "Echo", expi...转载 2018-05-24 18:40:16 · 1012 阅读 · 0 评论 -
Memcached之——Windows下安装Memcached
一、下载并安装memcached服务器端软件1、下载服务端memcached软件32bit:下载 memcached-win32-1.4.4-14.zip(直接下)里面包含6个文件,将解压后的文件夹随便放在什么位置(例如:D:\memcached)。memcached-win32-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcac原创 2017-03-11 15:01:20 · 44014 阅读 · 12 评论 -
Memcached之——整合Spring完整示例
在前面的几篇博文中,我们记录了Memcached整合Spring的一些方法,现在我们就基于这些方法实现一个Memcached整合Spring的完整示例,好了不多说了,我们直接上代码吧。一、配置1、MemcachedCacheManagerpackage com.cdsmartlink.framework.cache.memcached;import java.util.Co原创 2015-09-15 10:41:48 · 14699 阅读 · 20 评论 -
Memcached之——Memcached与Spring提供的cache接口整合
pring 从3.x就提供了cache接口,spring默认实现的缓存是ehcache,spring的cache接口:public interface Cache { String getName(); Object getNativeCache(); ValueWrapper get(Object key); T get(Object key, Class type); void原创 2015-09-14 21:43:47 · 6299 阅读 · 0 评论 -
Memcached之——spring整合memcached注意事项-poolname
Memecached JavaClient在使用前需初始化SockIOPool,该类只有一个protected的构造方法,因此外部需使用其提供的静态方法getInstance来获取SockIOPool实例,getInstance方法允许传入poolname来指明SockIOPool名称. SockIOPool本身只是作为SchoonerSockIOPool的代理类,SchoonerSockIOPo原创 2015-09-14 17:21:04 · 2521 阅读 · 0 评论 -
Memcached之——maven中添加memcached.jar配置方法
针对java项目添加 memcahced在mvnrepository 找了半天也没找到memcached.jar的配置xml,由于目前java memcached client没有官方的maven repository可供使用,因此使用时需要手动将其安装到本地repository。java memcached client的jar包下载地址:https://github.com/gwhal原创 2015-09-14 16:26:23 · 14406 阅读 · 0 评论 -
Nginx+Tomcat+Memcached负载均衡集群服务搭建
操作系统:CentOS6.5 本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memcached负责同步Tomcat的Session,达到Session共享的目的。1.安装NginxNginx官网:http://nginx.org/下载最新稳定版本。在安装N原创 2015-09-08 13:43:03 · 11474 阅读 · 0 评论 -
Nginx+Tomcat7+Memcached集群与负载均衡(超详细)
http://blog.csdn.net/zht666/article/details/38515147原创 2015-09-08 10:29:10 · 4290 阅读 · 0 评论 -
Memcached之——Spring与Memcached的集成
这篇文章给大家介绍如何集成spring与Mamcached,以达到系统性能优化的效果1.安装memcache1)下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:http://code.jellycan.com/memcached/2)下载java版客户端 java_memcached-release_2.6.1.zip3)解压缩me原创 2015-09-05 21:42:19 · 2640 阅读 · 0 评论 -
Memcached之——与Spring集成(单服务器)
Memcached客户端与Spring集成,客户端使用的是Memcached-Java-Client-release_2.6.31. 配置Maven com.danga memcached-java-client 2.6.32. Properties配置#######################Memcached配置########################原创 2015-09-05 20:33:42 · 2059 阅读 · 0 评论 -
Redis之——最全面的Redis命令行查阅手册(收藏查看)
Redis是用C语言实现的,一般来说C语言实现的程序“距离”操作系统更近,执行速度相对会更快。Redis使用了单线程架构,预防了多线程可能产生的竞争问题。作者对于Redis源代码可以说是精打细磨,曾经有人评价Redis是少有的集性能和优雅于一身的开源代码。本文比较详细且全面的梳理了Redis使用过程中涉及的全部增删改查!1.字符串1.设置键set key value [e...转载 2019-08-22 09:48:47 · 5781 阅读 · 2 评论 -
Spring之——@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/82597154使用Cacheable注解Redis方法时,如果Redis服务器挂了,就直接抛出异常了,java.net.ConnectException: Connection refused: connect那么,有没有什么办法可以继续向下执行方法,从相关的数据库中查询...原创 2018-09-10 22:22:07 · 7689 阅读 · 5 评论 -
Spring之——RedisTemplate 序列化、反序列化扩展支持 FastJson:GenericFastJson2JsonRedisSerializer
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/81713313在Spring的RedisTemplate中如何使用FastJson来进行数据的序列化和反序列化操作,实在是一件头疼的事情,基于Java注解的配置相对来说比较简单,但是基于XML配置的方式确实让人有点。。。(此处省略几个字,自己脑补),经过笔者不断总结尝试,最终解...原创 2018-08-16 00:00:01 · 9141 阅读 · 1 评论 -
Spring之——整合Redis序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer
当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer。Spring Data JPA为我们提供了下面的Serializ...转载 2018-08-15 23:53:04 · 4609 阅读 · 2 评论 -
Redis之——在CentOS/RHEL 7/6, Fedora 27/26上安装Ruby 2.4 (redis requires Ruby version >= 2.2.2问题)
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/81506103Ruby 2.4.2已经发布,Ruby是一个动态的,专注于简单性和生产力的,面向对象的编程语言。 RVM(Ruby版本管理器)是在单一操作系统上安装和管理多个Ruby版本的工具。 本教程将帮助您在系统上安装RVM。 之后在CentOS上安装Ruby 2.4.2,使...原创 2018-08-08 12:26:18 · 1106 阅读 · 0 评论 -
Spring之——spring-data-redis 1.8.11之前@Cacheable 大并发下返回null
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/81434949在高并发下@Cacheable 注解返回的内容是null。查看了一下源代码,在使用注解获取缓存的时候,RedisCache的get方法会先去判断key是否存在,然后再去获取值。这了就有一个漏铜,当线程1判断了key是存在的,紧接着这个时候这个key过期了,这时线程...原创 2018-08-05 20:59:21 · 1915 阅读 · 0 评论 -
Spring之——扩展基于注解的spring缓存,使缓存有效期的设置支持方法级别-redis篇
这里用的spring对redis的封装spring-data-redis,主要是对RedisCacheManager做一个二次封装。主要依赖包:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <...转载 2018-08-05 20:23:27 · 1824 阅读 · 0 评论 -
Redis之——集群搭建(基于CentOS6.X单机多节点)
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/81434522一、安装redis1、安装gcc环境yum install gcc-c++2、下载源码包并解压wget http://download.redis.io/releases/redis-3.2.12.tar.gztar -zxvf redis-...原创 2018-08-05 20:13:09 · 1010 阅读 · 0 评论 -
SpringBoot之——SpringBoot2.0 使用Redis
1、pom引入<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <exclusi...原创 2018-05-22 13:00:21 · 9695 阅读 · 2 评论 -
Java之——redis并发读写锁,使用Redisson实现分布式锁
最近由于工作很忙,很长时间没有更新博客了,今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。public void testReentrantLo原创 2017-06-21 00:32:11 · 41397 阅读 · 18 评论 -
Redis之——Redis集群的扩展与测试
一、简单介绍本博文是在《Redis之——Redis 集群的安装(Redis+CentOS)》和《Redis之——Redis集群的高可用测试与集群重建》两篇博文的基础上进行扩展测试的,如果没有阅读《Redis之——Redis 集群的安装(Redis+CentOS)》和《Redis之——Redis集群的高可用测试与集群重建》两篇博文,请先阅读《Redis之——Redis 集群的安装(Red原创 2017-05-28 12:07:26 · 3156 阅读 · 0 评论 -
Redis之——Redis集群的高可用测试与集群重建
本博文是在《Redis之——Redis 集群的安装(Redis+CentOS)》 基础上测试的,请先阅读博文《Redis之——Redis 集群的安装(Redis+CentOS)》再进行本博文的学习实践。一、Redis 集群的使用测试(Jedis 客户端的使用)1、 Jedis 客户端建议升级到最新版, 这样对 3.x.x 集群有比较好的支持。https://github.com/x原创 2017-05-23 23:56:40 · 3262 阅读 · 0 评论 -
Redis之——Redis 集群的安装(Redis+CentOS)
一、参考文档Redis 官方集群指南: http://redis.io/topics/cluster-tutorialRedis 官方集群规范: http://redis.io/topics/cluster-specRedis 集群指南(中文翻译,紧供参考): http://redisdoc.com/topic/cluster-tutorial.htmlRedis 集群规范(中原创 2017-05-23 01:02:49 · 4006 阅读 · 1 评论 -
Redis之——配置详解
/********************************* GENERAL *********************************/// 是否作为守护进程运行daemonize yes // 如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pidpidfile /var/run/redis.pid // Redis默认监听端口port原创 2017-05-22 23:23:39 · 1561 阅读 · 0 评论 -
Redis之——Redis 的安装与使用(单节点)
IP: 192.168.50.132环境: CentOS 6.5Redis 版本: redis-3.2.18安装目录: /usr/local/redis用户: root一、编译和安装所需的包 yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-deve原创 2017-05-11 23:29:11 · 1965 阅读 · 0 评论 -
Redis之—— Spring4.0 注解Cache+Redis缓存
前言: 目前公司项目在上一个技术架构的处理,已经搭建好了Redis,但redis只用在了做session的管理,然而 后台的对象缓存没有用上 1. redis 和 ehcache的区别 简单了解了下,个人觉得 从部署上而言,redis更适合分布式部署,ehcache是在每台应用服务器上开辟一块内存做缓存,集群时还得考虑缓存的情况, redis就不需要考虑缓存了原创 2017-04-26 23:32:00 · 4134 阅读 · 0 评论 -
Redis之——虚拟内存
一、简介: 和大多NoSQL数据库一样,Redis同样遵循了Key/Value数据存储模型。在有些情况下,Redis会将Keys/Values保存在内存中以提高数据查询和数据修改的效率,然而这样的做法并非总是很好的选择。鉴于此,我们可以将之进一步优化,即尽量在内存中只保留Keys的数据,这样可以保证数据检索的效率,而Values数据在很少使用的时候则可以被换出到磁盘。 在实际的原创 2017-03-14 23:52:21 · 1610 阅读 · 0 评论