草庐IT

redis_client

全部标签

Redis 的 Ruby 实例连接

在我跨多个URL路由重用redis连接的代码中,这是为Redis中的单线程定义实例的正确方法吗?classRed@conn||=H2O::Redis.new(:host=>'127.0.0.1',:port=>6379)class 最佳答案 对于在单个进程上运行的单线程Web服务器,这绝对是正确的方法。您不会有任何问题,因为Ruby的GIL确保不会有两行代码并行运行。questionarises当您开始通过fork它们来生成多个进程时-因为它在修改之前共享内存。并查看一些进行fork的服务的文档,他们确实建议您重新建立连接:http

redis - 如何在避免竞争条件的同时实现相当于 "unique index"的 Redis?

我正在尝试使用Redis作为持久存储。我想将用户存储在Redis中,但我希望用户ID以及用户电子邮件地址是“唯一的”。这是我所在的地方:MULTISETusers:1""HSETusers-indexes:emailuser-email@gmail.com1EXEC我使用事务是因为我不希望数据库在Redis崩溃时最终处于无效状态。目前,这只会默默地覆盖现有值。如果电子邮件地址已存在于哈希中,我需要交易失败/回滚。我可以使用HSETNX来防止索引被覆盖,但是此时用户对象已经被覆盖了。我可以提前检查电子邮件地址是否存在于索引中,但那样我就会与其他客户发生争用情况。我可以向我的应用程序添加写

spring - 使用 Spring Data Redis 进行文本搜索

我正在尝试查找有关使用SpringData在Redis上创建和搜索文本索引的文档。我看到@Indexed但没有找到@TextIndexed,就像Spring数据MongoDB一样。https://github.com/RedisLabs/JRediSearch 最佳答案 SpringDataRedis中不支持Redis模块,我们也不打算添加对Redis模块的支持。 关于spring-使用SpringDataRedis进行文本搜索,我们在StackOverflow上找到一个类似的问题:

php - 使用redis存储和修改缓存对象

我正在尝试使用redis缓存php对象(代表数据库记录)。我需要每隔一段时间编辑很多对象的一个​​字段,(对象代表产品,数量字段应该经常批量更新)。我在互联网上遇到了不同的方法,例如哈希表和序列化json。对于这种情况,哪种方法最好? 最佳答案 是的,根据我的经验,我肯定会使用由productId索引的哈希和存储为JSON对象的产品数据。不要为每个项目都使用一个key,因为您可能会遇到内存问题。查看Redis文档中的这些链接,了解为什么在您的用例中使用散列而不是键更好:https://redis.io/topics/memory-o

c#-4.0 - SETEX 中的无效过期时间,sPort : 12702 in Redis

我在使用Redis缓存时间=0时遇到错误。同时使用Redis缓存时间=1,它按预期工作。如何设置Redis缓存时间值为0,求助错误信息"Message":"Anerrorhasoccurred.","ExceptionMessage":"invalidexpiretimeinSETEX,sPort:12702,LastCommand:","ExceptionType":"ServiceStack.Redis.RedisResponseException"我想将过期时间设置为0,因为我使用的是动态页面并且它有很多block。Redis缓存时间来自配置文件。示例:Chunk1的Redis缓

Redis 配置不断重置

我在配置文件中遇到问题,我尝试使用以下内容选项:1.)使用CONFIGSETdir"/data"2.)为该配置定义一个配置文件。然而,几分钟后,它恢复到设置“/etc/crontabs”即使我还没有重新启动docker容器。有人能帮帮我吗?有什么我想念的吗?提前谢谢你。 最佳答案 只需点击相同的行为:dockerrun-d--net=host--restartalways--name="redis"-v/redis-data:/dataredis:3.2.11-alpine 关于Redi

amazon-web-services - 带有 Redis 的 AWS Elastic Beanstalk EC2 - 无法连接 - Django_Redis

您好,我正在尝试连接我的Django应用程序以使用RedisElastiCache,但在使用AWS连接它时遇到了问题。该应用程序使用ElasticBeanstalk发布到EC2实例,当我不尝试连接到我的Redis缓存时它运行完美。从这里的帖子(SettingupElastiCacheRediswithElasticBeanStalk+Django)我创建了我的ElastiCache以不使用集群,并且我设置了EC2实例和Redis缓存以使用相同的安全组。这是我的缓存在settings.py中的配置方式。CACHES={'default':{'BACKEND':'django_redis.

redis - 无法在 Redis 集群上添加新节点

这是一个现有的5节点Redis集群。只想添加一个新节点。一切似乎都很好,只是由于某种原因它没有被添加:root@tssredis07:/home/#./redis-trib.rbadd-node172.16.129.112:6379172.16.128.208:6379>>>Addingnode172.16.129.112:6379tocluster172.16.128.208:6379>>>PerformingClusterCheck(usingnode172.16.128.208:6379)M:9205296c296b851a5e3f188f12820c6698cf79f4172.

通过具有过去时间戳的 EXPIREAT 命令的 Redis key 过期事件

根据redis文档:EXPIREAThasthesameeffectandsemanticasEXPIRE,butinsteadofspecifyingthenumberofsecondsrepresentingtheTTL(timetolive),ittakesanabsoluteUnixtimestamp(secondssinceJanuary1,1970).Atimestampinthepastwilldeletethekeyimmediately.在设置过去的时间戳时,除了没有抛出key过期事件外,我得到的行为与文档完全相同。redis>SETmykey"Hello""OK"r

sql-server - Redis 或 SQL Server 存储短信确认数据

我正在构建一个HTTPAPI,它具有用于发送SMS以验证用户身份的端点。我想知道我应该使用SQLServer还是Redis。Redis它要快得多,我正在考虑在几分钟后丢弃SMS确认数据的可能性,因为Redis支持这种开箱即用的方式。SQLServer是否足够快来完成这项任务?或者最好使用Redis,考虑到无论如何我将来都不需要短信验证数据(这可能是一个错误的假设)。无论如何,我需要对这个问题有一些了解。谢谢 最佳答案 如果您要存储的唯一东西就是这些数据,并且只存储很短的时间,那么SQL似乎有点过分了。就速度而言,两者都应该快到足以存