草庐IT

distributed-caching

全部标签

Redis 写入主机从从机读取

我们想使用Redis将数据分发到远程服务器。总部有一个master实例,我们子公司的许多远程slave都连接到master。我们的应用程序在我们的子公司中运行。在99%的时间里,都会向从属实例发出只读请求。但是也有修改数据的情况。这样的请求是针对master发出的。有没有办法确保在下一次读取请求之前将对主服务器所做的更改复制到从服务器? 最佳答案 我不确定是否有办法可以100%确保这一点,但您可能想检查redis.conf文件并找到这个:slave-serve-stale-datayes听起来您希望将其设置为no。配置文件中的注释解

caching - 使用 redis 进行缓存,但使用 what 进行持久化

我计划使用redis作为缓存,其中每个键都有一个过期集,我在redis.conf中使用了以下配置:maxmemory2gbmaxmemory-policyallkeys-lru问题是如何将过期的key保存到另一个数据库,如MongoDB(或任何可以将key存储在磁盘中的数据库)。要求如下:1.当我查询一个“热键”(最近经常使用)时,如果redis有键,我可以很快从redis中得到结果,否则我可以从存储键的另一个数据库中得到键磁盘。2.每个键都有自己的生命周期。当redis中有key过期时,其他数据库应该存储过期的key。"当Redis作为缓存使用这种方式时,如果应用还需要使用Redis

caching - Redis集群-网络延迟

有一个新的Redis集群设置,我认识的一个团队正在我公司工作,以改进基于Redis的应用程序数据缓存。设置如下,一个Redis集群,有一个Redis主服务器和许多从服务器,比如40-50(但当应用程序扩展时可以增加更多),每个虚拟机一个Redis实例。有人告诉我,此设置有助于部署在每个虚拟机上的服务器中的应用程序查询本地Redis实例中存在的数据,而不是查询网络中的实例,以避免网络延迟。定期地,Redismaster只更新任何修改或新创建或删除的数据(由关系数据库支持的数据),比如每5秒左右。这将启动与所有Redis从实例的数据同步操作。Redis(从)的数据消费者(部署在所有虚拟机上

caching - Azure Redis 缓存延迟

我正在开发一个具有Web作业和Azure函数应用程序的应用程序。Web作业生成redis缓存供函数应用使用。缓存大小约为10兆字节。我正在按照建议使用延迟加载。我仍然发现整体缓存操作很慢。根据我正在处理的文件的大小,我最终可能会调用Redis缓存多达100,000次。想知道我是否需要将缓存数据保存在本地变量中,而不是每次都从redis中读取它。有没有人在访问Redis时遇到任何延迟?在C#函数应用程序中创建单例对象并根据某些计时器或其他逻辑刷新它是否有意义? 最佳答案 你能不能在你的使用中考虑到这一点,这是azurerediscas

python - 构建处理 redis 和 cache_method 装饰器的测试

所以我正在尝试使用redis为项目构建一些测试,但我有两种方法给我带来了麻烦。这两种方法都使用@cache_method()装饰器,并会吐出类似于AssertionError:[]!=[]的失败报告或AsserionError:[]!=[].这些测试都符合以下内容:self.assertEquals(self.ObjectName.Method(),ObjectName.objects.none())或self.assertEquals(self.ObjectName.Method(),ObjectName.objects.filter(...))如果我使用类似self.assertE

java - 如果集群中的第一个节点关闭,Redis 客户端 (Redission) 将停止工作

我有一个MasterMasterredis集群3(node1,node2,node3)。我正在使用Redission用于跨JVM的分布式锁定的客户端。现在根据RedLock由Redission实现的算法,它尝试在大多数节点中获取锁(在我的例子中,2是大多数节点),它使用循环算法进行负载平衡。现在,如果我们阻止节点2或节点3的网络,这种锁定机制可以正常工作。但是如果我们阻止节点1的网络,那么它将失败并出现以下错误Exceptioninthread"main"org.redisson.client.RedisNodeNotFoundException:Nonodeforslot:15087

caching - 在缓存中存储对象集合的方法或策略

我正在尝试将对象集合存储在缓存中。{"name":"Dep1","employees":[{"id":1,"name":"emp1","profilePic":"http://test.com/img1.png"},{"id":2,"name":"emp2","profilePic":"http://test.com/img2.png"},{"id":3,"name":"emp3","profilePic":"http://test.com/img3.png"},{"id":4,"name":"emp4","profilePic":"http://test.com/img4.png"}

azure - 我应该如何创建 "should store in Redis cache"抽象?

这是来自PluralsightAzurescalabilityclass.的代码片段我想为Redis缓存中应该(和不应该)存储什么定义一个策略。缓存策略的一些抽象示例是约会之后在日期X和Y之间门票受欢迎程度机器学习......我应该采用什么方法来清晰地定义可以在全局范围内实现并定期更新的政策?CloudContext.cspublicasyncTask>GetLiveEvents(DateTimecurrentDate){stringyear=currentDate.Year.ToString();varkey=GenerateLiveEventsKey(year);varyearEv

caching - Redis会丢失数据吗?

我对Redis没有很深的了解,所以我需要帮助!据我所知,Redis将数据存储在内存中,有时会转储到硬盘。这是否意味着如果Redis进程由于某种原因崩溃,我将丢失所有数据?如果是,如何保存数据直到进程恢复?谢谢! 最佳答案 http://redis.io/topics/persistenceRedis带有AOF(仅附加文件)和RDB(快照)持久化选项,它还具有可配置的参数以将数据丢失保持在最低限度。如果配置每1秒快照一次或每个事件一次一次写入AOF文件,则可能会影响性能。 关于cachin

caching - Redis内存管理-基于key、数据库或实例清除

我是Redis的新手。我已经在我们的应用程序中实现了缓存,并且运行良好。我想存储两种主要数据类型:目录列表和文件内容。它并不是真正相关,但这将缓存通过WebDAV提供的文件。我希望文件结构几乎永远保留。文件内容只需要缓存很短的时间。我已经设置了我的到期时间/TTL来反射(reflect)这一点。当服务器达到内存容量时,是否可以将某些缓存项优先于其他项?即刷新key、刷新整个数据库或刷新整个Redis实例。我想保留我的目录列表并在内存开始成为问题时刷新文件内容。编辑:阅读thisarticle似乎是我需要的。我想我需要使用volatile-ttl。我的文件内容将有一个更短的TTL集,所以