
redis
clamaa
这个作者很懒,什么都没留下…
展开
-
基于Redis实现简单的分布式锁
在分布式场景下,有很多种情况都需要实现最终一致性。在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA事务(两阶段提交,数据源可分开),也可以借助消息中间件(消费者处理需要能幂等)。通过Observer模式来发布领域事件可以提供很好的高并发性能,并且事件存储也能追溯更小粒度的事件数据,使各个应用系统拥有更原创 2017-04-11 10:00:14 · 477 阅读 · 0 评论 -
Redis hash tag进行分槽导致的问题
我们已经对redis cluster中的key进行了一定的分槽,但是导致了redis节点数据的不均匀分布,三个节点数据量大小对比:5:1:1,但更加恐怖的是内存使用对比,在最多的一个进程中占用超过900M,而最少的一个进程仅60M。 对比redis的dump文件,是其他两个的20倍 -rw-r--r--. 1 root root 14448246 8月 19 18:45...原创 2016-08-22 17:02:47 · 1975 阅读 · 0 评论 -
RedisCluster读写分离改造
RedisCluster模式启动的环境中,通过Redis中的每个连接,都可以访问 cluster nodes 访问到所有的服务器列表以及其所处于的角色(master/slave)。对于RedisCluster来说,在实际运行时,只会访问到其中的master节点,slave既不能用于write操作,也不能进行read。 原有JedisCluster Je...原创 2016-08-04 20:45:21 · 384 阅读 · 0 评论 -
JedisCluster模式尝试进行批量操作
搭建完redis集群后,可以通过jedis的JedisCluster来访问Redis集群,这里列出使用jedisCluster的spring bean配置方式: <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxI...原创 2016-07-29 14:48:30 · 813 阅读 · 0 评论 -
Storm存储结果至Redis
原有的事务支持使用MemcachedState来进行,现在需要将其迁移至Redis,并且需要记录所有key值列表,因为在redis中虽然可以使用keys *操作,但不是被推荐的方式,所以把所有结果存在Redis中的一个HASH格式字段中。 关于Redis与Storm集成的相关文档,可以参考: http://storm.apache.org/releases/2.0.0-S...2016-07-14 08:41:43 · 301 阅读 · 0 评论 -
基于Redis实现简单的分布式锁
在分布式场景下,有很多种情况都需要实现最终一致性。在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA事务(两阶段提交,数据源可分开),也可以借助消息中间件(消费者处理需要能幂等)。通过Observer模式来发布领域事件可以提供很好的高并发性能,并且事件存储也能追溯更小粒度的事件数据,使各个应用...2016-04-29 08:42:26 · 196 阅读 · 0 评论 -
Redis hash tag进行分槽导致的问题
我们已经对redis cluster中的key进行了一定的分槽,但是导致了redis节点数据的不均匀分布,三个节点数据量大小对比:5:1:1,但更加恐怖的是内存使用对比,在最多的一个进程中占用超过900M,而最少的一个进程仅60M。 对比redis的dump文件,是其他两个的20倍 -rw-r--r--. 1 root root 14448246 8月 19 18:45 d原创 2017-04-11 10:02:25 · 11662 阅读 · 2 评论 -
RedisCluster读写分离改造
RedisCluster模式启动的环境中,通过Redis中的每个连接,都可以访问 cluster nodes 访问到所有的服务器列表以及其所处于的角色(master/slave)。对于RedisCluster来说,在实际运行时,只会访问到其中的master节点,slave既不能用于write操作,也不能进行read。 原有JedisCluster JedisCl原创 2017-04-11 10:02:05 · 5034 阅读 · 1 评论 -
JedisCluster模式尝试进行批量操作
搭建完redis集群后,可以通过jedis的JedisCluster来访问Redis集群,这里列出使用jedisCluster的spring bean配置方式: <bean id="redisCluster" class="redis.clients.jedis.JedisCluster"原创 2017-04-11 10:01:58 · 7759 阅读 · 0 评论 -
Storm存储结果至Redis
原有的事务支持使用MemcachedState来进行,现在需要将其迁移至Redis,并且需要记录所有key值列表,因为在redis中虽然可以使用keys *操作,但不是被推荐的方式,所以把所有结果存在Redis中的一个HASH格式字段中。 关于Redis与Storm集成的相关文档,可以参考: http://storm.apache.org/releases/2.0.0-SNAPSH原创 2017-04-11 10:01:33 · 2597 阅读 · 0 评论 -
RedisCluster的scan命令
在redis中是支持使用通配符的使用,例如‘?’或是’’,所以我们在获取redis里面的某个db里面的所有数据可以用 `keys `这样的指令来实现。但是存在一个问题就是这样做的话,在数据量很大的情况下效率是很不理想的,一般情况下redis的slowlog中总会少不了keys xxx这种类型操作(如果有人在其上面执行该操作的话) scan命令可以帮助我们解决使用keys命令遍历大...2016-09-11 10:06:02 · 4726 阅读 · 0 评论