草庐IT

master-data-management

全部标签

java - 带有 Long 类型键的 spring data redis zadd 不起作用

我在这里尝试通过做一些例子来学习Redis。我有一个名为DriverLocation的实体,其中有一个名为updatedAt的时间戳,这是一个以毫秒表示的纪元时间。关键是我想要一个SortedSet,这样我就可以执行zrangebyscore查询,以获取按时间戳排序的最后N条记录。sortedset基本上会有timestamp-->hash_id结构。如果我想获取最后10分钟添加的记录,那么我将执行zrangebyscore查询以按排序方式获取所有hash_id。然后使用带有hash_ids的hmget获取所有哈希对象。这是关于redis-cli的一个非常简单的工作演示,您可以假设我使

data-structures - 合适的数据类型

我得到了用户名和用户ID的列表。我想按首字母对用户名进行分组。key将是用户名,因此我可以从用户名中获取用户ID并检查用户是否存在。用于此的最佳数据类型是什么?我在考虑哈希,但还有其他建议吗?你能告诉我为什么要选择那种数据类型吗?谢谢! 最佳答案 我只是在玩那个。所以这就是我得到的:>setalias:tamer1000"OK">setalias:tansel1001"OK">hmsetuid:1000aliastamerage45"OK">hmsetuid:1001aliastanselage39"OK">hsetuid:1000

memory-management - 在 Redis 中建模数据

我正在构建一个在Redis中实时跟踪许多计数器的系统。每个计数器基本上是特定url上显示的广告关键字的展示次数、转化详细信息。即。如果在特定网址上显示10个关键字,我需要更新每个关键字的展示次数和转化次数。并且在url的每次展示中,可能会显示一组不同的10个关键字。即。我需要的基本数据模型是这样的>网址=>k1=>impression=>2conversion=>1k2=>impression=>100conversion=>8..k100(maxaround100)我知道Redis没有嵌套哈希,所以我无法存储2级哈希,如上所示。解决这个问题的最佳方法是什么?我想把k1-impress

mysql - 设计 : storing id in redis while data content in mysql

我正在使用Redis数据类型根据指定对象的ID进行一些数据聚合。要获取对象的信息,每次都必须在mysql数据库上进行选择查询。由于数据最初存储在mysql数据库中。我想知道这是否会影响性能,这是一个正确的实现。 最佳答案 因为redis是一个内存数据库,所以您可以将它用作缓存,正如您所描述的。你会从mysql而不是redis得到更多的性能“伤害”。我们正在使用Redis来存储带有存储在MongoDB中的文档ID的集合。我们会跟踪最近的文档、更多的投票等,而Redis对此非常有用。使用批处理操作,好的模式和redis很棒。

data-structures - Redis中的最优存储结构

我正在寻找存储以下信息组。我存储了一个分钟时间戳(例如,将在1分钟窗口中看到的所有浏览器ID分组),然后是浏览器引用列表。我希望只有一个浏览器ID实例这个数据结构可以使用Redis中的什么数据结构?有没有更好的存储方式?...12:06->browser1,browser712:07->browser812:08->browser4,browser5,browser6,browser9...每一行可以有大约1天的生存时间。添加新的browserID时,我首先检查浏览器ID是否已存在于数据中的某处,如果存在则删除并添加到新的分钟行。最后,我每隔1分钟获取30分钟前的行并处理这些浏览器ID

Redis 的 Spring Data : when dealing with values, 是否仅适用于 StringRedisTemplate?

在使用SpringDataforRedis处理字符串时,我注意到以下行为:给定以下代码:template.opsForValue().set("person","value");它仅在我使用StringRedisTemplate的实例时有效,而在我使用RedisTemplate的实例时无效。它不应该与RedisTemplate一起使用吗,因为它聚合了所有Redis数据类型的所有操作? 最佳答案 StringRedisTemplate只是RedisTemplate的特化,因此如果您愿意,您应该能够直接使用RedisTemplate,前

redis - 从slave恢复redis数据到master

我需要不丢失redis上的任何数据并且它有很高的写入请求,所以我不能使用AOF持久化。RDB可以提供帮助,但可能会丢失上次备份的一些数据。现在我认为复制是备份,所以当主服务器崩溃、重启或其他任何事情时,我已经同步了从服务器中的数据并可以再次恢复它。现在有没有办法在崩溃时自动设置master为slave,slave为master,然后同步? 最佳答案 当您的应用程序知道MASTER已关闭时,应用程序应在SLAVE上发出以下命令:SLAVEOFNOONE上述命令将使SLAVE成为MASTER,您的应用程序现在可以继续将其用作MASTER

redis - 如何在sentinel配置中切换redis master

我有一个redis哨兵配置,其中有一个主站、两个从站和3个哨兵正在运行。我注意到,在某些时候,哨兵可能会切换主人,选择其中一个奴隶作为主人。这导致作为独立客户端连接到主节点的应用程序出现问题(我正在努力更改代码以使用哨兵)。我想知道是否可以通过连接到哨兵客户端来切换主服务器,即通过“redis-cli”有人可以告诉我是否有可以用来切换主IP的命令吗? 最佳答案 客户端应用程序应该使用支持sentinel的客户端库,以防redismaster宕机并且sentinel选择新的master。如果您的客户端应用程序没有利用它,不确定设置哨兵

redis - 无法在 spring-data-redis 事务中查询列表

template.setEnableTransactionSupport(true);template.multi();template.opsForValue().set("mykey","HelloWorld");ListdataList=template.opsForList().range("mylist",0,-1);template.exec();大家好。我的redis中有一个名为“mylist”的列表,其大小为50。但是当我运行这段代码时,我无法得到我想要的。字段“dataList”为空,但是,值为“HelloWorld”的“mykey”一直保存在我的redis中。那么如

Redis master 在 docker 环境中成为另一个 master 的奴隶

我已经配置了一主两从的redis-sentinel让我们将这三台机器的设置称为一个集群。我有很多集群在很多docker容器上运行。在运行时,我在redis.conf文件和sentinal.conf文件中管理IP。我的问题是;cluster-1上的主节点以某种方式成为cluster-2主节点的从节点。在Cluster-1主节点上,我终止了redis和哨兵服务,删除了slaveof6379然后使用编辑后的​​conf文件重新启动redis服务。当我启动redis服务的那一刻,它再次成为cluster-2masterredis的slave。我在redis-cli中尝试了slaveofnoon