草庐IT

cache_digests

全部标签

caching - Redis 作为缓存 - 重置过期

我将redis用作缓存,并希望使redis中未被积极使用的数据过期。目前,为对象设置过期时间会在过期时间过后删除对象。但是,如果在对象过期之前至少读取一次对象,我想将该对象保留在redis中。我看到的一种方法是为每个对象存储一个单独的expiry_key,并将到期时间设置为expiry_key而不是原始对象。在expiry_key上订阅删除通知,当收到删除通知时,检查对象是否在到期间隔期间至少被读取一次(通过单独维护的访问日志)。如果未读取对象,则对原始对象执行del命令。如果已读取,则重新创建具有到期间隔的expiry_key。这个实现需要额外的系统来管理过期,并且更愿意使用redi

ruby - 我可以序列化 ruby​​ Digest::SHA1 实例对象吗?

大家好,我正在用ruby​​(sinatra)重新实现现有的自定义文件上传服务,使用redis作为后备存储。客户端计算SHA1哈希并启动上传上传最大64Kblock直到完成服务器将block附加到文件计算完整文件的SHA1哈希以验证正确接收现在,我希望做的是在每个block上使用ruby​​(1.9.3)Digest::SHA11GB]。不幸的是Digest::SHA1和Marshal.dump不兼容1.9.3p125:001>require'digest'=>true1.9.3p125:002>$digest=Digest::SHA1.new=>#1.9.3p125:003>mars

django - Openresty : pass a request to FastCGI if data does not found in redis cache 中带有 nginx 的 Lua

我有一个Django网站,它使用fcgi在Nginx上运行。对于url/gifts/我想通过使用openresty在nginx.conf文件中将一些逻辑实现到lua中。location/gifts{try_files$uri@redis_cache;}location@redis_cache{default_typetext/html;content_by_lua'--fetchingkeyandvaluesfromurllocalargs=ngx.req.get_uri_args()--creatingredisconnectionlocalredis=require"resty.r

caching - Redis vs Appfabric Cache ,或者另一种解决方案

我计划对实时数据的元数据使用缓存机制。我将在2个或更多不同的应用程序中使用。获得表现对我来说非常重要,而不是设定表现。我不确定应该使用哪种技术,是Windows上的Redis还是Appfabric缓存或其他解决方案?我会存储字典,然后我会从键查询。 最佳答案 我整天都在努力研究。我决定CouchbaseMemcached它非常适合企业使用,而且速度非常快。 关于caching-RedisvsAppfabricCache,或者另一种解决方案,我们在StackOverflow上找到一个类似的

caching - Redis缓存更新

EDIT2:澄清:代码已经在未命中逻辑上刷新缓存。我正在尝试做的是减少错过缓存命中的次数。我正在使用Redis作为API的缓存。这个想法是,当API收到调用时,它首先检查缓存,如果数据不在缓存中,API将获取它并缓存它以备下次使用。目前配置如下:maxmemory50mbmaxmemory-policyallkeys-lru也就是说,最多使用50mb内存,不断尝试在其中尝试key,当内存已满时通过删除最近最少使用的key(lru)开始。现在我想介绍第二类键。对于第二个类别,我将设置一个特定的到期时间。现在我想建立一种机制,当这些key到期时,该机制会启动并刷新它们(并设置新的到期时间)

caching - Redis 复制和 LFU 缓存

我正在使用具有3个实例的Redis4,一个主实例和两个副本实例。使用allkeys-lfu策略将主实例配置为具有最大内存限制。我想知道我是否应该将我的读取查询也转发给主实例以使LFU策略正常工作。或者我只能将它们转发给副本,它仍然可以工作。? 最佳答案 Slavesdon'texpirekeys,insteadtheywaitformasterstoexpirethekeys.Whenamasterexpiresakey(orevictitbecauseofLRU),itsynthesizesaDELcommandwhichistr

caching - 如果正在使用,如何将 key 保留在redis中,如果不使用,如何过期?

我在Redis中有一个特定的缓存系统。这个系统的内容非常不稳定,值一直在增加和减少。我想尽可能多地将“使用过”的key保留在内存中,同时让旧key过期。每个请求可能需要缓存中的数百个键。我知道我可以设置一个“足够长”的过期时间,并且只处理缓存未命中,但我希望尽可能少的未命中。目前我正在做这样的事情,当我写入/读取缓存时(伪代码)#writewrite(key,value)expire(key,ttl)#readread(key)expire(key,ttl)我可以使用流水线优化读取。现在这似乎仍然不是最好的方法。谁能给我一个更好的策略? 最佳答案

caching - 在 StackExchange.Redis 中设置缓存期间出现 TimeoutException

我正在尝试使用VisualStudio中的StackExchange.Redis客户端在AzureRedis缓存中设置键值对。这是我的代码:ConnectionMultiplexerconnection=ConnectionMultiplexer.Connect("connection_name,ssl=true,password=some_password");IDatabasecache=connection.GetDatabase();for(inti=0;i但是,当代码设置一些随机键值对时,我得到TimeoutException。可能是什么问题,我应该如何解决?谢谢。

.net - Redis Cache 如何与 High Availability 和 Sentinel 协同工作?

我正在尝试设置一个高可用性设置,如果托管我的主要Redis缓存的服务器出现故障,它将选择一个不同的主服务器,但在阅读所有关于Sentinels的文档后我有点困惑。例如,如果我有一个url,我将我的Redis客户端指向:http://my.RedisServer.com:6379,哨兵如何帮助故障转移到另一台服务器说在http://mybackup.RedisServer.com:6379?我正在使用.Net的ServiceStack.Redis客户端并将我的Redis安装在Windows服务器上,但我在想为了获得高可用性我必须切换到Linux并使用Twemproxy设置或其他东西?我猜

python - 我想在我的简单 Django 项目中使用 Redis-Cache。我无法理解 Django 中的实现

下面是我的观点。现在,我无法获得实现Redis缓存的方法。从django.core.cache导入缓存类UserListView(APIView):defget(self,request):#userss=Cach.objects.values('cache_id','username','email')data=Cach.objects.values('cache_id','username','email')#cache.set('users',userss)#data=cache.get('users')returnResponse(data) 最佳答