草庐IT

redis_master

全部标签

Redis ttl payload 内存大小

我想知道为特定键启用TTL将使用多少内存空间。更确切地说,如果我为一个键启用TTL,这个设置会消耗多少内存,如何通过设置这样的TTL来检查内存消耗? 最佳答案 TTL不占用任何额外空间。无论你是否使用它,它的内部内存分配都是在创建key时执行的。附言IIRC,TTL是一个64位变量,因此它“占用”8个字节。 关于Redisttlpayload内存大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

php - Redis - 按请求缓存流程

我一直在网上搜索但没有成功找到答案,如果您根据用户请求进行缓存,应用程序的“FLOW”到底是如何工作的。例如,最常用的处理“按请求”缓存的实现如下:伪代码:if(redis->hasKey('content')){returncontent;}else{get_content_from_database();cache_content_in_redis();content_expire(10);returncontent;}比方说,使用上述逻辑的某个页面上突然有1000个请求。逻辑上第一个请求命中if语句,将看到某个键下没有内容,将触发“else”部分并检索内容并缓存它。我的问题:其他

python - 在 celery 任务上调用 delay() 后,任务甚至需要 5 到 10 秒以上才能开始执行,以 redis 作为服务器

我有Redis作为我的缓存服务器。当我在一个任务上调用delay()时,甚至需要超过10个任务才能开始执行。知道如何减少这种不必要的滞后吗?我应该用RabbitMQ替换Redis吗? 最佳答案 如果不能检查您的应用程序和服务器日志,很难说延迟的原因是什么,但我可以向您保证,延迟是不正常的,不是Celery或使用Redis作为经纪人。我过去经常使用这种组合,任务的执行发生在几毫秒内。我首先要确保创建任务的客户端、代理(Redis)和任务使用者(celeryworker)之间没有网络相关问题。祝你好运!

go - 如何在 map[string]string 中读取 *redis.Client.TxPipeline.Exec() 方法的响应

我正在使用redis.v5。我想一次性读取所有redis键值,每个键的值是hashMap,即map[string]string。所以我正在使用MULTI/EXEC的Redis事务功能。我有一个函数可以执行此操作,我得到这样的响应:[hgetallx:map[VIN:POIUYTRUT4567ASWQbeaconID:1123VBG132customerName:AmitdisplayLocation:waitinglaungetimestamp:2017-12-26T08:51:21.509Z]y:map[VIN:POIUYTRUT4567qweDbeaconID:1123VBG132

concurrency - 如何处理对 redis 键的并发更新?

我在谷歌上搜索了同样的内容,但找不到明确的答案。我要解决的用例如下。多个系统发出所有与同一标识符关联的过程完成状态。我想在与同一标识符关联的所有进程完成时发出通知。我想使用redis作为我的数据存储,以标识符为键。通知系统是多线程的,将处理来自不同系统的状态完成事件。场景:标识符123关联了两个进程p1和p2。说通知系统线程进程p1完成状态之一。它从redis中拉取与123关联的数据。它看到p2尚未完成。它将p1完成状态添加到redis值并更新key。假设P2完成状态同时发生同样的事情。最后,我的两个线程都没有发出最终完成状态。如何着手解决这个问题?我从redis文档中看到redis是

mysql - Yii2 将数据库表镜像到 redis 以实现高速事件记录查询

我想做的是将所有结果缓存在一个很少变化的MySQL表中,从而最大限度地减少对数据库的调用并提高查询速度。那里大约有10万条记录。有没有一个库可以同步这个表的变化,比如更新或插入一条记录时,redis缓存也会失效和更新。我见过用于elasticsearch的,但没有看到用于redis的。从这个页面:Yiicopyingdatafromonemodeltoanother有这样的评论:Youcangetallmodelsattributesby:$data=$model->attributes;andassignthemtoanothermodel$anotherModel=newAnoth

caching - 将redis用于树数据结构

我需要为基于树的键值开发一个缓存系统(非常类似于Windows注册表编辑器)。因为缓存键是字符串,表示树中到值的路径,可以是原始类型(int、string、bool、double等)或自身的子树。例如:key=root\x\y\z\w,value=thewholesubtreeunderwkey=root\x\y\z\w\t,value=integer我考虑过使用Redis作为简单的缓存实现,但是天真的键值会忽略树层次结构的要点。此外,以这种天真的方式,猜测我已经在缓存中了key=root\x\y,value=thewholesubtreeundery我正在寻找key=root\x\y

node.js - 如何使用 NodeJS 存储 Redis 中返回的字典列表?

我正在编写一个向第三方API发出获取请求的NodeJS应用程序。此api返回字典列表。我想获取这个结果,并将其存储在我的redis客户端中。我该怎么做?结果对象看起来像这样-[{"foo":123,"bar":456},{"foo":789,"bar":012}] 最佳答案 听起来您不需要从字典中查询元素,因此只需将它们作为json字符串存储在redis列表中就可以了。当您批量添加到列表中时,您可以将它们字符串化,只需确保使用某种形式的流水线,这样您就不会进行不需要的api调用。然后您可以在需要时简单地解析json字符串字典。例如:

redis - 官方 redis-pubsub 源

我是Spring云数据流的新手。我在kafka_2.11-1.1.0中创建了一个主题./kafka-console-producer.sh--broker-listlocalhost:9092--topictest我在Scdf中注册了redis-pubsub(spring-cloud-dataflow-server-local-1.3.0.RELEASE.jar):sink.redis-pubsub=maven://org.springframework.cloud.stream.app:redis-sink-kafka-10:1.3.1.RELEASEsink.redis-pubsu

redis - Kue JSON API 不返回任何数据 - KUE with AWS Redis

我正在使用kue对一些使用nodeexpress的python作业进行排队和处理。我使用的redis服务器不是localhost上的默认服务器,而是AWSRedis。问题陈述:与AWSredis的连接成功,正在创建和处理作业,正在按预期从python作业生成输出文件,但是当使用的服务器是AWSRedis时,KueJSONAPI不会返回任何数据。如果它是本地主机上的redis服务器,API会完美地返回数据。1.这是我从节点到redis的连接代码constredisclient=redis.createClient({host:hostname,port:6379});varkue=req