
redis
文章平均质量分 81
高效能人生
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis: 使用Sorted Set 解决游戏中有关排行问题
在游戏中经常涉及到排名问题.在排名中涉及到根据某一个值或者多个值进行排行,需求中经常涉及到:1- 从N名到M名是哪些玩家???2- 玩家A的排名是多少名???3- 排名N玩家的积分是多少???原创 2015-10-23 16:41:53 · 2799 阅读 · 1 评论 -
Redis: Jedis中publish/subscribe 使用
在Redis早期版本就已经提供publish/subscribe 模式,该文使用Jedis客户端的一个小例子. Jedis 类中提供:在Jedis中提供 发布二进制编码 ,string字符串 以及pattern匹配模式三种方式来发布publish消息. public Long publish(final String channel, final String message)原创 2015-10-14 17:30:30 · 5709 阅读 · 0 评论 -
Redis: Jedis 源代码剖析1-链接建立和收发命令
Jedis作为Redis Java语言推荐的客户端被广泛使用。让我们一探Jedis源代码究竟。原创 2015-12-02 22:02:48 · 1417 阅读 · 1 评论 -
Redis: Jedis 源代码剖析2- 发布者/订阅者模式剖析
在Jedis提供的发布者/订阅者模式中,最重要的就是JedisPubSub . 当订阅通道后,JedisPubSub就会轮询通道。直到通道取消订阅,才会继续执行。因为Jedis是单线程,所以当订阅之后,线程就在循环。除非,在JedisPubSub收到消息后,新开线程继续执行任务。在JedisPubSub 类中定义了接受消息后触发事件和轮询代码。JedisPubSub类是抽象类,所以为了实现自己的功能,必须继承该类。原创 2015-12-04 22:28:12 · 3412 阅读 · 0 评论 -
Redis:redission 源代码剖析1 连接建立
redission作为redis 官方推荐的java客户端。 redission使用netty4.x作为网络层。 redission使用异步io方式操作。这与jedis 同步io操作方式完全不同。但是redission也提供了同步操作方式。原创 2015-12-27 15:03:15 · 2688 阅读 · 0 评论 -
Redis:redission 源代码剖析2 编码解码过程
在Netty和redission中都使用了java的public interface Future<V> 模式。 理解redission的核心流程关键在于Future模式,关键代码在RedisClient 构造函数中。 在RedisClient中初始化Channel的时候,用到了ConnectionWatchdog CommandEncoder CommandsListEncoder CommandsQueue CommandDecoder ConnectionWa原创 2015-12-27 15:04:19 · 3906 阅读 · 0 评论 -
Redis:redission 源代码剖析3 future模式
Redission利用Netty 的Promise模式来实现的。在Redission向Redis服务器发送一个消息时,此时会产生一个MainPromise对象,对这个MainPromise既可以同步操作也可以异步方式操作。在Redission内部,会首先创建链接,然后创建一个attempPromise对象,然后发送消息。attempPromise对象和mainPromise会关联在一起。所有发送的对象包括参数都会保存在队列中。当Redission接受到Redis服务器消息时,会取出发送时的信息。这个原创 2015-12-27 15:47:21 · 4181 阅读 · 0 评论 -
使用redis作为缓存
public class JedisCacheTemplate { private Jedis jedis; private ObjectMapper mapper = new ObjectMapper(); public JedisCacheTemplate() { this(new Jedis("localhost")); } public JedisCacheTemplate(Jedis jedis) { this.jedis = jedis; } //直接通过数据库原创 2016-01-11 17:50:05 · 2004 阅读 · 0 评论 -
使用Redis作为缓存2
在上一篇博客中,使用Redis作为缓存,使用的Redis String类型结构. 单个存取没有任何问题。但是,当设计到查询所有或者查询一个列表时,就会存在问题。在Redis中String类型对键不执行集合操作。 我尝试使用Set结构,存储键,然后在获取对应的值后,发现性能存在严重问题。 中间尝试使用Lua脚步来解决,发现也存在好多问题,原因是使用String类型结构不正确导致。然后选择Hash结构来缓存数据结构。测试性能完全满足要求。在自己写反射过程中,非常繁琐并且结果不清晰,通过选择common-b原创 2016-01-12 15:59:47 · 588 阅读 · 0 评论