memcache与redis替代session如何?是不是有redis就不需要memcache了?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

memcache与redis替代session如何?是不是有redis就不需要memcache了?

2019-04-09 13:02:04 1409 1

看了知乎与segmentfault的架构,都是用的是redis,但是这个session存储也用的是redis吗?

取消 提交回答
全部回答(1)
  • 李博 bluemind
    2019-07-17 23:32:57

    1)首先redis和memcache(后面简写mc)取舍问题。
    在很多mc的应用场景下,都可以使用redis也是可行的解决方案。当key比较大的时候,mc有更好的性能。当让mc存在key的大小限制(默认参数最大允许存1MB的字符串,-I参数的默认值)。
    而redis在key较大的情况,读写性能非常低效。而选择mc有更好的性能和吞吐量。
    下面是生产上的测试,200并发的情况系,单个key为500kB的情况下。

     redis-benchmark -d 500000 -t get,set -n 1000 -c  200 -q 
     SET: 306.84 requests per second
     GET: 1449.28 requests per second

    redis的优势主要体现在两方面:
    1)丰富的数组结构,无疑提高了开发效率。list(queue)、set/zset、hashmap、HyperLogLog非常好用。
    redis is a data structure server。构建简单的消息队列,set去重操作,hashmap存放简单的关系型数据,HyperLogLog做唯一计数,等等。
    2)redis支持主从复制,对与构建支持auto-failover的ha方案提供了必要的条件--multi replicas。比如简单的keepalive + vip的方式。
    3)另外,twemproxy,redis sentinel、redis-cluster的出现,可以让运维或者DBA构建大规模的分布式缓存系统。(我本人是DBA)
    具体的对比,查看http://segmentfault.net/q/1010000002588088?_ea=147671

    2)关于session存储。
    session是web服务器端存放的用户行为数据,存储方式有很多中。比如nfs共享文件系统,tomcat集群提供了共享session存储。其他的用db(RDBMS)存储的也有。
    nosql出现之后,常见的选择有redis、mc、mongodb。redis、mc的php直接提供调用模块(函数),都很方便使用。
    虽然很多人说,session存储crash了,影响不大,大不了用户重新登录。但是我觉得session数据千万不能丢失。
    1)首先,session数据丢失,用户需要重新登录,用户的体验非常差。
    2)对一些购物网站,session的数据更为重要。session数据对于追踪用户的行为非常重要,比如做推荐系统、网站防刷系统(是否是机器人在爬去数据)。
    因而我个人比较认同mc开发的观点,不要使用mc作为session存储。而选择redis,可以做数据复制和ha方案的。

    0 0
相关问答

1

回答

redis session共享问题

2016-06-03 15:16:03 4024浏览量 回答数 1

1

回答

redis 集群报错All sentinels down, cannot determine whe

2021-10-25 10:56:04 918浏览量 回答数 1

1

回答

Redis客户端集群的原理是什么啊?

2022-03-28 18:33:16 244浏览量 回答数 1

1

回答

redis集群方式中的主从复制是什么意思啊?

2022-04-03 22:29:05 531浏览量 回答数 1

0

回答

redis-shake这个集群redis怎么配置的呢?

2022-07-04 09:26:49 190浏览量 回答数 0

0

回答

seata版本1.5.1数据源支持redis集群吗?

2022-07-11 17:17:57 324浏览量 回答数 0

1

回答

flink -redis sink 可以sink 到集群吗?

2022-08-01 14:08:41 244浏览量 回答数 1

1

回答

大佬们想问个问题,现在Flink 可以sink到 加密的redis集群了吗?

2022-08-04 10:24:00 120浏览量 回答数 1

0

回答

阿里云集群版 redis 代理模式,是不是不支持 flushdb?

2022-08-24 18:00:24 164浏览量 回答数 0

1

回答

请问我想store.mode=redis这种模式试试,我redis是3主3从的集群,应该如何配置呢?

2022-11-07 16:54:47 24浏览量 回答数 1
+关注
李博 bluemind
云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Redis Cluster的基本原理
立即下载
高并发分布式缓存Redis6.0
立即下载
阿里云Redis——读写分离
立即下载