redis简介及与memcached比较

概述

redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关参考文档:http://redisdoc.com/index.html

redis使用场景:

  1. 登录会话存储:存储在redis中,与memcached相比,数据不会丢失。
  2. 排行版/计数器:比如一些秀场类的项目,经常会有一些前多少名的主播排名。还有一些文章阅读量的技术,或者新浪微博的点赞数等。
  3. 作为消息队列:比如celery就是使用redis作为中间人。
  4. 当前在线人数:还是之前的秀场例子,会显示当前系统有多少在线人数。
  5. 一些常用的数据缓存:比如我们的BBS论坛,板块不会经常变化的,但是每次访问首页都要从mysql中获取,可以在redis中缓存起来,不用每次请求数据库。
  6. 把前200篇文章缓存或者评论缓存:一般用户浏览网站,只会浏览前面一部分文章或者评论,那么可以把前面200篇文章和对应的评论缓存起来。用户访问超过的,就访问数据库,并且以后文章超过200篇,则把之前的文章删除。
  7. 好友关系:微博的好友关系使用redis实现。
  8. 发布和订阅功能:可以用来做聊天软件。

    redismemcached的比较:

     memcachedredis
    类型 纯内存数据库 内存磁盘同步数据库
    数据类型 在定义value时就要固定数据类型 不需要
    虚拟内存 不支持 支持
    过期策略 支持 支持
    存储数据安全 不支持 可以将数据同步到dump.db中
    灾难恢复 不支持 可以将磁盘中的数据恢复到内存中
    分布式 支持 主从同步
    订阅与发布 不支持 支持
posted @ 2020-01-27 18:10  xsan  阅读(250)  评论(0编辑  收藏  举报