redis在什么情况下使用
1个回答
展开全部
常见的说法是,有N多热点数据,又是临时用一下,又想提高并发速度,吞吐量,那就可以考虑,如淘宝的节假日的销售活动。提前把数据准备好,活动完后失效。
我的看法,有足够多的内存,我又想让系统极快。就可以把redis当数据库用,redis可以永久缓存数据,但是这些数据要小于能使用的内存量。小点的项目比较适合,我干过这事。
接口级别缓存一定量网络请求数据,省去自己设计的缓存不安全,不完善的麻烦。比如开发微网站:要缓存的微信的认证串,用户认证数据。cookie,session等。我同样干过这事,跟第二段一起做的。前提是数据量适中,现有机器配置,可以5年以上不出问题。
还有人会结合mysql或oracle使用,缓存用户查询的数据。对小项目我个人以为没必要的。大项目功能如第一点。在小项目中,mysql或oracle自己就可以把所有的表、数据等直接加载到内存中。数据预热后,访问效率一点不差。秒以内可以从2000W以上的数据中找出REGEXP写的查询。我同样也干过这事。多线程+mysql全部加载到内存+查询结果合并不会超过1秒。2秒以内把查询结果展现出来。
总之redis不是大项目的专利,看你能想到什么地方,就能用到什么地方。使用redis的根本出发点是快+高并发。
我的看法,有足够多的内存,我又想让系统极快。就可以把redis当数据库用,redis可以永久缓存数据,但是这些数据要小于能使用的内存量。小点的项目比较适合,我干过这事。
接口级别缓存一定量网络请求数据,省去自己设计的缓存不安全,不完善的麻烦。比如开发微网站:要缓存的微信的认证串,用户认证数据。cookie,session等。我同样干过这事,跟第二段一起做的。前提是数据量适中,现有机器配置,可以5年以上不出问题。
还有人会结合mysql或oracle使用,缓存用户查询的数据。对小项目我个人以为没必要的。大项目功能如第一点。在小项目中,mysql或oracle自己就可以把所有的表、数据等直接加载到内存中。数据预热后,访问效率一点不差。秒以内可以从2000W以上的数据中找出REGEXP写的查询。我同样也干过这事。多线程+mysql全部加载到内存+查询结果合并不会超过1秒。2秒以内把查询结果展现出来。
总之redis不是大项目的专利,看你能想到什么地方,就能用到什么地方。使用redis的根本出发点是快+高并发。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询