草庐IT

redis_master

全部标签

压力测试下的Redis hooking(发布-订阅)——负载下的性能

基于suggestedsolusion并关注example,我正在尝试在收到另一个key已过期的通知后立即删除一个key。问题是,在设置600K新key并将其中一半的过期时间设置为2秒的重负载压力测试下,我得到以下异常:Exceptioninthread"main"redis.clients.jedis.exceptions.JedisConnectionException:Unknownreply:t问题是编写这样的监听器的最佳实践是什么?(线程池?如果是在什么上下文中实现它?)绝地武士版本:2.7.2Redis版本:2.8.19到目前为止我的代码:订阅者类:publicclassS

caching - Redis 缓存关系数据的正确策略

我们有以下用例示例:我们有用户、商店、friend(用户之间的关系)和喜欢。我们将这些表存储在MySQL中,并作为键值存储在Redis中,以便从Redis缓存中读取而不是命中数据库。对两个数据存储都进行了写入。因此,我们的应用程序非常快且可扩展,因为我们很少访问数据库进行读取。我们将AWS用于可扩展的Redis。但是,当用户登录时我们会遇到问题,我们必须显示商店列表,以及他的哪些friend喜欢该商店。这是一个join,Redis不支持直接join。我们想知道存储和显示这些数据的最佳方式是什么。例如:如果这应该存储在Redis表中,其中键值为“store/user_wholikes”并

redis - Redis server_load 统计数据的计量单位是什么?

RedisINFO命令返回一个server_load公制,对我们来说,这是一个类似于0.45的值。问题是这代表什么值(value)?百分比?1的几分之一?从我们的监控可以看出负载很低:0.45是好是坏? 最佳答案 来自https://azure.microsoft.com/en-gb/blog/investigating-timeout-exceptions-in-stackexchange-redis-for-azure-redis-cache/"IsthereahighRedis-serverserverload?Usingth

redis - Socket.io redis 数据如何存储和清除

我在使用socket.io的heroku上托管一个应用程序。它正在使用套接字,而我正在使用heroku4standard1Xdynos。所以为此我使用了redistogo服务和socket.io-redis插件。它工作得很好,但我想知道当套接字断开连接时,socket.io-redis是否也会从redis数据库中清除数据。Herokuredisgoto服务只提供20MB的数据存储。.请指导socket.io-redis如何插入和清除redis数据库中的数据。 最佳答案 假设您指的是https://github.com/Automat

redis - redis如何保存最近5分钟产生的对象?

我不想使用keys*命令,因为它是O(N)。是否可以在redis中保留最新的Objects? 最佳答案 不使用KEYS绝对是可行的方法。在创建键名时使用SortedSet存储键名,并将分数设置为创建时间。您可以使用ZRANGEBYSCORE按创建时间获取key名称,并且不要忘记使用ZREMRANGEBYSCORE从中删除旧key。 关于redis-redis如何保存最近5分钟产生的对象?,我们在StackOverflow上找到一个类似的问题: https://

redis - 无法在 C# 中使用 StackExchange redis 连接 Twemproxy

我正在尝试使用TWEMPROXY服务器的IP地址通过StackExchangeredis执行下面的C#代码,它给出了以下错误:Anunhandledexceptionoftype'StackExchange.Redis.RedisConnectionException'occurredinStackExchange.Redis.dllAdditionalinformation:Itwasnotpossibletoconnecttotheredisserver(s);tocreateadisconnectedmultiplexer,disableAbortOnConnectFail.So

node.js - CakePhp 3.x 使用 redis 与 nodejs 共享 session

好吧,我一直在关注这个使用redis在php和nodejs之间共享session的示例:https://gist.github.com/mscdex/9507b0d8df42e0aec825我的工作很顺利,但现在我想看看如何使用CakePhp来实现它。我有几个关于我将如何去做的问题:我是否应该只创建一个新的session处理程序并在构造函数中运行我需要在session开始之前执行的session配置?我是否应该创建一个新的Session.php类,扩展自CakePhp提供的类?如果我这样做,我将如何让应用程序使用它?上面链接的代码:varexpress=require('express

Redis 用于 session 存储

我正在构建一个安全服务,作为构成应用程序的一组服务的一部分。我正在考虑使用Redis来存储session。session是一种数据结构,如下所示:{string:sessionTokenDateTime:expiryUtcstring[]:permissionKeys}我需要做的就是创建、读取和删除session。如果我可以让Redis删除过期的session,那很好但不是必需的。作为Redis的菜鸟,我需要阅读一些书,但假设Redis是一个不错的选择,有Redis经验的人可以给我任何关于实现这一目标的正确方法的指导。顺便说一句,我在Mono平台上并且到目前为止选择了StackExch

redis - Redis订阅 channel 到底是什么?

因此,当我创建一个新的Jedis订阅实例并让我的Jedis实例订阅它时,我必须指定channel。它到底是什么?我假设它是一个字符串,它将成为其他一些系统的url[我有一个API平台,它应该收到重做状态更改的通知]。Jedis和Redis订阅页面都没有具体说明我对channel感到好奇的字符串类型。谢谢! 最佳答案 字符串可以是任何字符串,不一定只是URL。它用作Redischannel的名称-发布者和订阅者都用来“连接”到正确channel的唯一标识符-因此只要每个人都知道该名称,他们就可以使用该channel。

c# - 即使指定了 TimeSpan.MaxValue 过期,HashSet 也会从 Redis 缓存中删除

我正在使用StackExchange.Redis客户端访问AzureRedis缓存。我正在创建一个哈希集,如下所示:Database.HashSet("HashSetKey","EntryKey","EntryValue");Database.KeyExpire("HashSetKey",TimeSpan.MaxValue);即使我将过期时间指定为TimeSpan.MaxValue,哈希集也会在几分钟未被使用后被删除。我错过了什么? 最佳答案 将TimeSpan.MaxValue设置为key到期没有意义。你根本不应该设置它,因为它永