草庐IT

Redis_Proxy

全部标签

redis - 如何使 Redis 过期事件只发送给一个客户端

如果两个相同的客户端连接到一个redis服务器,并在一个键过期事件上注册相同的监听器,我可以让redis服务器只发送一个过期事件给一个客户端,而不是两个客户端吗 最佳答案 不,你不能用RedisKeyspaceNotifications做到这一点.KeyspaceNotifications只是Pub/Sub的一个特例.Pub/Sub不允许您这样做。 关于redis-如何使Redis过期事件只发送给一个客户端,我们在StackOverflow上找到一个类似的问题:

python - redis管道execute()方法什么时候被阻塞?

我实现了如下所示的Redis包装器类。importredisimportthreadingimporttimeclassIntervalRedis(object):@classmethoddefinit(cls,interval=0.1,host='localhost',port=6379,db=0):cls._r=redis.Redis(host=host,port=port,db=db)cls.r=cls._r.pipeline()cls.t=threading.Thread(target=cls._intervalExecute)cls.interval=intervalcls.

php - 使用 predis 在 redis 中存储 mysql 查询

我想使用redis缓存将mysql查询存储在redis中,第一次按预期工作(因为redis中没有key)并执行查询,但后来$rs=@unserialize($redis->get($key)什么都不返回;我尝试了很多解决方案但没有成功,我的代码如下:require__DIR__.'/vendor/autoload.php';Predis\Autoloader::register();$redis=newPredis\Client(array("scheme"=>"tcp","host"=>"127.0.0.1","port"=>6379,"password"=>"testRedis")

linux - Redis FLUSHALL 保留 2 个名为 `processes` 和 `domain.com:port:hash` 的键

我使用RubyOnRails作为在线商店和redis客户端库gem的基础。在我的托管服务提供商发出警报后,我决定保护redis并刷新整个数据库,以便重新运行缓存等。但是奇怪的事情发生在我身上,因为运行后:127.0.0.1:6379>FLUSHALL好的然后检查我得到的现有key:127.0.0.1:6379>键*1)“过程”2)"mydomain.com:5digitport:strangehash"我不是Redis专家,但我的Redis实例出了问题。有没有人遇到过这个问题,我应该如何解决? 最佳答案 您的应用(或其他应用)仍在连

php - 在事务上下文之外调用 redis 命令

是否可以在事务上下文之外调用predis命令?我的意思是在交易打开时执行hget或hexist 最佳答案 不,这不可能。Transaction以(MULTI)开始在每个连接管道中工作。所以你应该DISCARD/EXEC首先或使用另一个predis连接到Redis服务器。 关于php-在事务上下文之外调用redis命令,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/34742771

unix - 使 Redis 用户拥有 Redis unixsocket

我在Debian上安装了Redis3.0.6。有一个/etc/init.d/redis文件在系统启动时启动Redis服务器,或者我可以手动调用它来启动/停止服务器。问题是这个脚本是以root用户身份运行的。我有一个redis用户和组,我想让Redis在其下运行。但我不知道如何(我还没有找到让Redis在启动后切换用户ID的选项)。在我的配置文件中,我使用unixsocket/home/redis/redis.sockunixsocketperm770当然,redis.sock归root所有。drwxr-xr-x2redisredis4096Jan1803:34bindrwxr-xr-x

redis - 使用 Redis 的分布式锁中的竞争条件

我已经在http://redis.io/topics/distlock阅读了关于使用Redis的分布式锁的帖子.有一个lua脚本来描述如何进行“解锁”。ifredis.call("get",KEYS[1])==ARGV[1]thenreturnredis.call("del",KEYS[1])elsereturn0end我认为这个模型存在竞争条件:客户端A获得3秒到期的锁。设置keyrandomstring1NXPX3000睡了2.99秒。客户端A释放锁并调用上述代码。条件为真。ifredis.call("get",KEYS[1])==ARGV[1]then原始key过期客户端B获得了

Redis Slave Master 连接失败 Slave 日志显示 : Unable to connect to MASTER: Permission denied

我已按照有关如何设置Redis主服务器集群的说明进行操作,但完成后我无法看到为什么服务器无法相互看到。这是我组装的第二个版本,我被困在同一个地方。我真的可以使用一些以前从未在REDIS上工作过的帮助,我可以使用一些指导。使用CENTOS7Redis版本当我检查redis从属日志时,我得到以下信息[20671]12Jan15:48:02.369*ConnectingtoMASTER10.10.10.10:6379[20671]12Jan15:48:02.369#UnabletoconnecttoMASTER:Permissiondenied配置文件对主机和从机使用完全相同的密码。只是为了

php - 使用 Redis 的大规模策略的新闻提要

我在尝试解决规模问题时遇到了一个有趣的困境。目前我们有一个社交平台,它有一个非常典型的提要。我们正在使用图形数据库,每次用户请求提要时,我们都会访问数据库。虽然现在这很好,但随着我们用户群的扩大,它会逐渐停止。输入Redis。目前,我们通过帖子ID将评论、点赞等内容存储在JSON编码字符串中的各个Redis键中,并在有更新、添加或删除时更新它们。然后在代码中,我们循环遍历帖子的数据库结果并从Redis存储中提取数据。这导致多次调用Redis来构建每个帖子,这比每次都接触数据库要好得多。挑战在于跟上不断变化的数据,例如评论者/点赞者的头像、屏幕名称、已关闭的帐户、新的喜欢、新的评论等与每

php - 无法在后台和守护进程中运行 artisan redis :subscribe command as service,

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭3年前。Improvethisquestion我正在尝试在后台模式下将redis:subscribeartisan命令作为服务运行,并且需要该脚本不会因错误而死掉。我试过Supervisor,但没有结果。你有什么建议吗?操作系统:CentOS7语言:PHP框架:Laravel