作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在哈希中,我有一堆键值对
我的 key 格式如下:name:city
john:newyork
kate:chicago
lisa:atlanta
我正在使用 python 访问 redis 并在 https://redis-py.readthedocs.org/en/latest/ 中,我没有看到任何进行部分匹配的哈希操作
我希望能够获取哈希中所有带有城市名称的键
这可能吗?
最佳答案
这是可能的,但不是 HASH 对象,而是排序集。只要一个有序集合中的所有元素都具有相同的分数,就可以进行字典序前缀匹配。
假设您执行以下操作(原始 redis 命令,但同样适用于 python 客户端):
ZADD foo 0 john:newyork:<somevalue>
ZADD foo 0 john:chicago:<somevalue>
ZADD foo 0 kate:chicago:<somevalue>
....
然后您可以使用ZRANGEBYLEX 查询:
ZRANGEBYLEX foo [john: (john:\xff
将为您提供所有以john
开头的条目,您可以使用正则表达式或拆分来提取值。
请注意,这是前缀搜索而不是后缀搜索。如果你想要“纽约的所有条目”,你需要反转排序集中的顺序。
关于python-2.7 - redis:匹配散列的部分键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35548023/
我是一名优秀的程序员,十分优秀!