分类目录:Redis

以下是分类 Redis 下的所有文章

Mac上安装Redis

1. redis官网下载redis源代码,编译。 2. 直接启动即可。 123456789101112131415161718192021222324$ /Users/robert/working/softwares/redis-3.0.5/src/redis-server 21913:C 24 Dec 16:58:20.717 # Warning: no config file specified, using the default config. In order to specify a config file use /Users/rober……

缓存预热

缓存预热时的TTL过期时间点接近,之后会导致的大量的缓存同时过期,会产生穿透到数据库的风险,避免的一个方法是: 缓存预热的时候使用一个范围的随机值作为TTL,这样,缓存过期的时间就会分散开,就不会有大量的缓存穿透的问题。 TTL = Random(1分钟 – 1.5分钟)

对Redis变量原子递减到0的操作

在使用Redis缓存的业务场景的时候, 经常会有这样的需求, 需求要求递减一个变量, 如果递减后变量小于等于0, 然后返回一个标志, 如果成功, 则返回剩余值。 实现中需要注意服务器端的多线程问题以及客户端的多线程问题。服务器端可以利用服务器单线程执行LUA脚本来保证,或者通过WATCH, EXEC, DISCARD, EXEC来保证。客户端我……

Memcache的三种Java客户端的对比和选择

Memcache作为一个著名的缓存项目支持多种语言和多种形式的客户端,作为一个Java开发人员,我们必须了解各种客户端的不同,这有利于我们在技术选型的时候充分的评估其优缺点,从而选择最佳的缓存产品以及缓存客户端,最终对技术选型进行合理的决策。 1.官方提供的基于传统阻塞io由Greg Whalin维护的客户端memcached client……

Redis为什么是单线程?

1. Redis基本是内存操作,在IO和网络操作的时候,多线程的程序可以很好的利用CPU时间。那在基本是内存操作的情况下,单线程程序应该可以充分利用CPU时间了。 2. 由于是内存操作,所以用户响应时间很短。 我们知道Redis是用”单线程-多路复用IO模型”来实现高性能的内存数据服务的,这种机制避免了使用锁,但是……

Redis vs. Memcache

Redis   服务器端: 非阻塞IO,单线程,适合短小的操作逻辑,有复杂的长逻辑会影响性能,对于长逻辑应该配置多个实例来提高多核CPU的利用率, 也就是可使用单机器多端口来配置多个实例,官方推荐一台机器使用8个实例,基于libevent中关于epoll的两个文件加上自己简单实现的事件通知, 设计的简单小巧,作者的思想就是……