草庐IT

redis-test

全部标签

redis - seneca redis pubsub 传输和 seneca redis 队列传输有什么区别?

我正在学习如何使用senecajs从redis获取数据,但seneca提供了多个插件来连接到redis。可用的插件是标题中提到的插件。我应该使用哪个来从Redis中获取几个键?两者有什么区别? 最佳答案 seneca-redis-pubsub-transport和seneca-redis-queue-transport两者都用于使用Redis在服务之间传输消息。seneca-redis-pubsub-transport是一种广播传输。所有订阅的服务都将收到所有消息。seneca-redis-queue-transport另一方面是队

redis - ZSCAN 保证在迭代过程中得分发生变化的元素

我在文档中找不到此信息:DoesRedisguaranteethatanelementisreturnedwithZSCANcommandunderthiscondition:Theelementwascontainedinthesortedsetfromthestarttotheendofafulliteration,BUTthescoreofsuchelementhaschanged(evenseveraltimes,forinstancebyanotherclient)duringiteration?我找到的唯一相关声明如下:Elementsthatwerenotconstant

Redis 缓存服务器 - 多网站环境

我是redis的新手,但我今天安装了一个windows版本。我能够使用StackExchange.Redisc#客户端(https://github.com/StackExchange/StackExchange.Redis)但是现在我遇到了一个小问题。我有一个站点有多个使用相同的redis服务器的环境,所以我遇到了一个关键的冲突问题。在一台Redis服务器上支持多环境应用程序的最佳方式是什么。我阅读了有关数据库索引的信息,但根据我对一些过时文章的研究,它似乎不受欢迎。2016年,推荐的方法是什么? 最佳答案 通常有两种解决方法:A

java - 如何删除 set Redis 中的元素?

我如何从使用GEOADD添加位置生成的排序集中删除元素例如:GEOADDtest-0.1245551.5007"BigBen"-0.1252051.50115"WestminsterStation"-0.1135851.50482"BFIIMAX"我想删除“WestminsterStation”元素,有什么想法吗?是否可以使用LettuceApi删除此元素? 最佳答案 GEO索引是使用SortedSet实现的,因此您只需使用zrem即可删除位置。`zremtest"WestminsterStation"`

c# - 线程环境下的redis不一致

在线程环境中运行时,我遇到了redis的一些问题。我有一个名为AwaitableParallelForeachWorker的类,我可以在其中为有效负载中的每个项目运行特定函数。(我知道它不漂亮,但它完成了工作)publicclassAwaitableParallelForeachWorker:IAwaitableParallelForeachWorker{privatereadonlyobject_lockObject=newobject();privateint_tasksCompleted;publicasyncTaskRun(Funcaction,IEnumerablepaylo

node.js - 如何获取 Redis 的 lpop 或 rpop 项的索引

我正在使用Redis作为内存数据库进行实时分析。在我的分析中,我继续在不断增长的Redis-list上执行rpop以对每个rpop'ed项目执行分析。为了清理Redis-list并且不让其过大,我应该在23处提取并备份Redis-list:每天的59:59。如果我在23:59:59盲目地对Redis-list进行清理,则可能有一些元素不是lpop'ed或rpop'ed可能会被清理干净。索引是在分析不断增长的列表时清理列表的最佳选择。是否有任何Redis-commands来获取lpop'ed或rpop'ed项目的索引? 最佳答案 如果

java - redis pub sub 和/或列表来实现数据收集器

我正在开发一个需要按计划从第三方系统收集数据的模块,比如每5分钟一次。启动数据收集的触发器来自Multi-TenancyUI。因此,10个租户可以告诉该模块同时开始收集数据。我从使用一个简单的redis队列开始,所有来自UI的启动请求都被发送到队列中,该模块充当工作人员,获取作业并运行它们。问题是我们需要在1分钟内完成一个数据收集周期,如果有100个作业,如果我们连续进行,我们将花费一分钟多的时间。数据收集需要按计划进行。所以UI说每5分钟运行一次数据收集,直到我说停止!因此,我们添加了另一个可以开始减轻负载的工作器。我的问题是:如何在不在其中一个工作人员中保持状态(预定线程执行程序)

scala - 由于 redis 是单线程的,如何将这些调用包装在 Future 中?

由于redis是单线程的,像下面这样的调用将阻塞直到它返回:redis.hgetall("some_key")现在假设我要将我所有的调用包装在Futures中,例如,如果我必须同时进行100K次这些类型的调用:Future.sequence(redis_calls)这样做对性能有帮助吗?还是故障跟踪,或者如果调用被备份,它是否会导致问题? 最佳答案 您会发现最慢的部分是向Redis获取命令并再次读取结果,而不是等待Redis执行请求。为避免这种情况,您可以使用pipelines一次发送一堆命令并一起接收结果。

php - 如何在 Memcache 或 Redis 中通过标签清除缓存?

今天我在开发项目时遇到了问题。例如,我通过缓存键=post_list_OFFSET_LIMIT将一些数据(如博客文章)放入内存缓存中,其中通过分页偏移和限制它是动态数据。但是当我添加新帖子时,我无法通过前缀post_list_清除缓存。新帖子将在缓存过期后显示。Memcache没有标记功能。可以通过自定义代码添加标记支持。redis有这个功能吗?按前缀标记或删除标签?谢谢。 最佳答案 在redis中可以通过3种方式解决:使用扫描命令:http://redis.io/commands/scan获取与您的模式匹配的键并删除它们。Howt

Azure Redis 缓存 : "role discovery data is unavailable"

我正在尝试连接到AzureRedisCache的一个实例从我本地的开发机器。我正在使用StackExchange.Redis像这样:varlazyConnection=newLazy(()=>{returnConnectionMultiplexer.Connect($"{redisServerUrl},abortConnect=false,ssl=true,password={redisServerKey},connectTimeout=10000,syncTimeout=10000");});当lazyConnection被调用时,我得到一个InvalidOperationExcep