Redis
文章平均质量分 88
laterxie
喜欢旅行,打羽毛球,打乒乓球,看足球,动漫.对大数据,分布式,消息中间件,高并发感兴趣
展开
-
Redis缓存一致性问题解决方案
在开发中经常使用到redis。redis作为缓存可以加快程序响应速度。从redis缓存中读取数据大致需要0.5ms左右,从数据库需要几毫秒。大致业务流程如下图:每次设置缓存时都有一个过期时间,根据不同业务,过期时间也不一致,设置过期时间能保证缓存数据最终一致性问题。这样能保证在更新数据库成功,更新缓存失败,或者缓存了脏数据时,缓存过期后,能正确的读取到最新的值。我们常见的三种缓存更新方案:...原创 2020-04-27 12:05:20 · 11440 阅读 · 5 评论 -
使用Redis实现分布式可重入锁
在分布式应用中经常需要用到分布式锁。redis使用set命令来实现分布式锁SET key value [EX seconds] [PX milliseconds] [NX|XX]直接使用该命令构建的redis分布式锁是不像jdk的reentrantlock具有可重入性的,使用线程的ThreadLocal变量存储当前持有锁的计数,可以实现redis分布式锁的可重入性。另外Redis分布式锁有...原创 2020-03-26 23:21:17 · 1514 阅读 · 0 评论 -
使用Redis HyperLogLog统计UV浏览用户数
在开发中,经常遇到要统计某个页面的访问用户数UV。我们很容易想到使用Redis Set来统计,当用户数不多的时候确实可以,本人开发的项目中药统计一个月面一个月用户的访问数量,月活跃用户数量在千万级别以上,如果用Set即使使用Hash打散存储key也需要700-800MB的redis内存,这明显很浪费.这种场景中使用HyperLogLog进行去重统计是非常合适的.HyperLogLog算法是一种非...原创 2020-03-24 22:49:47 · 1843 阅读 · 0 评论 -
JedisSentinelPool配置说明
Jedis是Java最常用的用于连接Redis的客户端。也是Redis官方推荐的Redis连接客户端之一。一般在项目中是使用Spring来管理jedis的连接池的,利用Spring ioc容器来管理。 <!--配置Jedis连接池--> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <pr原创 2017-03-21 23:38:07 · 8364 阅读 · 0 评论 -
Redis常用命令(String数据类型的操作)
为了方便操作这里可以下载Redis的Windows 64位的版本 下载地址:http://download.csdn.net/detail/u010180738/9667899Redis是目前非常流行的NoSql数据库之一。主要用于在Web应用中充当缓存,比如存放用户信息(一般存放用户信息时都会使用多台Redis服务器,使用主从服务器,主服务器用于写操作,从服务器用于读操作)。Redis是非常流行原创 2017-02-20 23:33:22 · 5049 阅读 · 0 评论 -
Redis常用命令(String数据类型的操作)
在上一篇文章中我们介绍了redis的常用命令。 Redis一般在使用时是会集群使用的。采用的是主从模式,一般都是主服务器负责写操作,从服务器负责读操作,从服务器不断的从主服务器复制更新数据。比如当一条数据过期时主服务器删除数据之后,会向所有的从服务器显示的发送一条删除命令,确保从服务器的数据能及时更新。当主服务器判断为下线时,sentinel会选取从服务器中的一个为新的主服务器,原先的主服务器原创 2017-03-04 23:59:32 · 373 阅读 · 0 评论 -
使用redis 实现分布式锁
使用redis 实现分布式锁在有些需要高可用的场景中,保证并发量的情况下需要使用分布式锁来做控制,保证应用的可靠性。我们知道jdk提供了一些常用的锁比如ReentrantLock,ReentrantReadWriteLock,synchronized。对于这些锁的实现这里就不详细介绍了,在使用过程中这些锁锁的是对象,在单服务器的时候有用。但是现在基本都不是单一服务器了,一般都会有多台服务器。对原创 2018-01-14 23:59:34 · 374 阅读 · 0 评论 -
RedisTemplate系列化器之GenericJackson2JsonRedisSerializer
Redis作为高速缓存数据库,目前应用非常广泛。RedisTemplate是Spring提供用于操作redis数据库的一个类。 将数据存放到Redis中,以及数据读取。这里必然涉及到数据的系列化和反系列化。RedisTemplate默认的系列化类是JdkSerializationRedisSerializer,用JdkSerializationRedisSerializer序列化的话,被序列化的...原创 2018-02-27 01:04:08 · 30076 阅读 · 2 评论 -
Redis的数据结构和相关常用命令
本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。本节只对Redis命令进行扼要的介绍,且只列出了较常用的命令。如果想要了解完整的Redis命令集,或了解某个命令的详细使用方法,请参考官方文档:https://redis.io/commandsKeyRedis采用Key-Value型的基本数据结构,任何二进制序列都可以作为Redis的Key使用(例如普通的字符串或一张JP...转载 2019-06-18 16:41:53 · 213 阅读 · 0 评论