标签目录:redis

以下是与标签 “redis” 相关联的文章

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

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

Redis为什么是单线程?

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

Redis vs. Memcache

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