我是 Redis 的新手,我尝试为属于 sadd 的特定值显示一个排序集。有没有办法在 Redis 中执行此操作?
SADD friends "Sarah"
SADD friends "Lisa"
SADD friends "Tim"
ZADD users 200 "Sarah"
ZADD users 133 "Lisa"
ZADD users 410 "Peter"
ZADD users 280 "Tim"
ZADD users 205 "Hans"
我想显示一个仅包含 friend 分数的排序集。
1) "Tim"
2) "280"
3) "Sarah"
4) "200"
5) "Lisa"
6) "133"
最佳答案
您可以使用 ZINTERSTORE,因为它也可以与常规 SET 一起使用。请注意,它将为元素分数使用 1,但您可以使用权重 0 将其删除:
ZINTERSTORE aux_zset 2 好友用户权重0 1
结果ZSET有你的答案:
127.0.0.1:6379> zrange aux_zset 0 -1 withscores
1) "Lisa"
2) "133"
3) "Sarah"
4) "200"
5) "Tim"
6) "280"
关于雷迪斯 : Sorted sets for specific SMEMBERS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56538547/
我是Redis新手。在我当前的项目中,我们大量使用了Redis,我们一次性提取了1000多个键,而且提取频率太高了。早期这些调用是连续的,我们正在尝试用管道替换。我们为此目的使用了SpringRedisTemplate。现在的挑战是我们从redisTemplate得到的响应是对象列表。我们希望它与输入键映射。现在我们依赖于输入键顺序,我认为这不是很可靠的事情。有什么方法可以让Redis本身以MAP格式获得相同的格式,以便我们可以直接使用响应。 最佳答案 没有这样的命令。相反,您可以使用Luascripting达到目标。但是,Lua脚
我的应用程序功能与Cassandra集成时遇到了一些问题。我正在尝试为我的用户创建一个内容提要。用户可以创建帖子,而帖子又具有字段user_id。我将Redis用于整个社交图,而将Cassandra列仅用于对象。在Redis中,用户1有一个名为user:1:followers的集合,其中包含他/她的所有关注者ID。这些关注者ID对应于用户表中的CassandraID和帖子表中的user_id。我的目标最初是简单地将此Redis集中的所有user_id插入一个查询,该查询将使用FROMpostsWHEREuser_idIN(此处为user_ids)并获取二级索引user_id中的所有帖子
在我正在开发的网站中,用户可以提交图像(头像)。当用户想要更新他们的图片时,上传的图片会被调整大小、优化并生成一些缩略图。只有经过处理后,图像才会显示在网站中。我打算使用redis来长时间缓存图片,当上述过程完成后,我想只对上传的图片使缓存失效。我找不到教我们如何实现这些目标的文档/教程。有人能给我指点一些教程/文档来解释如何缓存图像以及如何使特定图像的缓存无效吗?谢谢。 最佳答案 您可以使用solr-thumbnail包来完成所有这些工作,包括缓存。您也可以将redis定义为kvstore。Docshere
我是Redis的新手,我试图通过Redis文档找出这个问题,但没有成功。这是详细信息。假设我插入了如下字符串。Setcategory:1"Men"Setcategory:2"Women"Setcategory:3"Kids"Setcategory:4"Home"Setcategory:5"shoes"...在这种情况下,我想通过查询遵循特定模式的键来获取所有值category:*。Getcategory:*有没有办法像这样获取所有类别? 最佳答案 使用SCAN.SCAN是遍历Redis数据库中的键的唯一安全方法。SCAN将分块键空间
我计划为我的预订引擎使用StackExchange.Redisc#包装器。但我担心会在同一日期范围内登记的预订。如何确保不会创建重叠订单? 最佳答案 您必须为您的数据使用唯一的key。2个主要解决方案:解决方案1:在REDIS中存储唯一大小跟踪预订号关键名称:bookings:size在每次预订时,获取bookings:size,然后在预订后添加+1。像这样使用booking:size作为键预订:订单-1预订:订单2bookings:order-3解决方案2:在您的程序中生成一个唯一的key1.在您的代码中生成一个唯一的key(最好
我需要在Java中使用Redis作为数据源,所以我决定使用代码:publicclassRedisService{privatestaticfinalJedisjedis=newJedis("host",6400);;publicstaticDevicegetDevice(Stringkey){//Dosomethinguseredis.returnnull;}}我以为服务器会自动初始化Jedis(RedisAPIforJava),这是使用Jedis的好方法吗? 最佳答案 看看我们如何使用Jedis:通过传递主机和端口信息创建单例or
我需要在Java中使用Redis作为数据源,所以我决定使用代码:publicclassRedisService{privatestaticfinalJedisjedis=newJedis("host",6400);;publicstaticDevicegetDevice(Stringkey){//Dosomethinguseredis.returnnull;}}我以为服务器会自动初始化Jedis(RedisAPIforJava),这是使用Jedis的好方法吗? 最佳答案 看看我们如何使用Jedis:通过传递主机和端口信息创建单例or
我希望使用Redis的GEORADIUS命令。但是,该命令只在给定经纬度的二维圆范围内进行搜索。我还需要进行高度搜索,从而在三维球体范围内找到结果。我如何在Redis中实现这一目标? 最佳答案 我相信您实际上想要做的是在3D圆柱体(或者如果考虑到地球的球形性质,则为某种圆锥体)内搜索。海拔搜索本身并不包含在Redis的地理空间索引中,但您可以将该属性存储在其自己的SortedSet中作为分数。然后,您可以对高度执行范围搜索(ZRANGEBYSCORE),并将结果与半径查询的结果相交(ZINTER)(提示:使用临时键STORE结果
我希望使用Redis的GEORADIUS命令。但是,该命令只在给定经纬度的二维圆范围内进行搜索。我还需要进行高度搜索,从而在三维球体范围内找到结果。我如何在Redis中实现这一目标? 最佳答案 我相信您实际上想要做的是在3D圆柱体(或者如果考虑到地球的球形性质,则为某种圆锥体)内搜索。海拔搜索本身并不包含在Redis的地理空间索引中,但您可以将该属性存储在其自己的SortedSet中作为分数。然后,您可以对高度执行范围搜索(ZRANGEBYSCORE),并将结果与半径查询的结果相交(ZINTER)(提示:使用临时键STORE结果
我是Redis的新手,我尝试为属于sadd的特定值显示一个排序集。有没有办法在Redis中执行此操作?SADDfriends"Sarah"SADDfriends"Lisa"SADDfriends"Tim"ZADDusers200"Sarah"ZADDusers133"Lisa"ZADDusers410"Peter"ZADDusers280"Tim"ZADDusers205"Hans"我想显示一个仅包含friend分数的排序集。1)"Tim"2)"280"3)"Sarah"4)"200"5)"Lisa"6)"133" 最佳答案 您可以