最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

我目前使用redis的方式

来源:懂视网 责编:小采 时间:2020-11-09 13:13:50
文档

我目前使用redis的方式

我目前使用redis的方式:1.将redis的List用作队列,这个很轻量级,不用引入别的队列服务器,缺点是可能会丢失数据,因为其持久化方案是redis通用的aof或者rdb方式 2.将排好序的实体id放到LIST中,然后以prefix 实体id为key,用hashtable存储具体的实体信息 3.用ZSET存储排
推荐度:
导读我目前使用redis的方式:1.将redis的List用作队列,这个很轻量级,不用引入别的队列服务器,缺点是可能会丢失数据,因为其持久化方案是redis通用的aof或者rdb方式 2.将排好序的实体id放到LIST中,然后以prefix 实体id为key,用hashtable存储具体的实体信息 3.用ZSET存储排

1.将redis的List用作队列,这个很轻量级,不用引入别的队列服务器,缺点是可能会丢失数据,因为其持久化方案是redis通用的aof或者rdb方式 2.将排好序的实体id放到LIST中,然后以prefix 实体id为key,用hashtable存储具体的实体信息 3.用ZSET存储排名和带有权

1.将redis的List用作队列,这个很轻量级,不用引入别的队列服务器,缺点是可能会丢失数据,因为其持久化方案是redis通用的aof或者rdb方式

2.将排好序的实体id放到LIST中,然后以prefix 实体id为key,用hashtable存储具体的实体信息

3.用ZSET存储排名和带有权重信息的一些实体id,缺点是内存占用太厉害了。

4.用hashtable做一些映射,例如username=>user_id等

5.set可以支持一些逻辑操作,但是排序的时间复杂度不佳,所以我选择了用list

6.set用来做唯一性验证,如果验证某个用户是否已经对某篇文章进行了赞的操作

7.使用redis用来优化内存hash-max-zipmap-entries等参数减少内存使用量

8.排序好的id也可以用string的getRange和setRange命令来实现顺序访问

用LIST不好的是其顺序已经确定,其删除操作耗时O(n),顺序查找并删除,而且不支持union inter等操作,这些操作可以模拟and 和or这两种关系操作。

暂时能想起的也就这么多了

主要的关注点是要自己建立索引,索引是对key的索引,然后通过key访问到value。这样就把访问简化为k=>v操作。复杂的sql都可以分解为redis的一些操作。

我能想到的应用场景:

高级缓存

计数器

布隆过滤器/简单权限(bit操作类型)

栈/队列/有优先权队列

锁/id generator缓存/短url缓存

SNS关系

mapreduce/漂流瓶/去重

timeline

索引/排行榜/最近N个

超时(比如验证)

聊天/订阅/notify

Session

通信中间件

原文出处:http://www.imsiren.com/archives/982

文档

我目前使用redis的方式

我目前使用redis的方式:1.将redis的List用作队列,这个很轻量级,不用引入别的队列服务器,缺点是可能会丢失数据,因为其持久化方案是redis通用的aof或者rdb方式 2.将排好序的实体id放到LIST中,然后以prefix 实体id为key,用hashtable存储具体的实体信息 3.用ZSET存储排
推荐度:
标签: 方法 使用 现在
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top