Redis key 命名约定?

标签 redis naming-conventions

<分区>

redis 中键的标准命名约定是什么?我见过用 : 分隔的值,但我不确定标准约定是什么。

对于用户,你会做这样的事情:user:00

如果用户的 id 是 00

您是否能够仅查询 key 的开头以返回所有用户?

我主要只是希望通过研究它对人们的作用以及他们选择它们的原因来避免任何 future 的问题。

最佳答案

What are the normal naming convention for keys in redis? I've seen values separated by : but I'm not sure what the normal convention is, or why.

是的,冒号 : 是命名键时的约定。在 this Redis 网站上的教程是这样说的:Try to stick with a schema。例如“object-type:id:field”可以是 一个好主意,比如“user:1000:password”。我喜欢用点 多词字段,例如“comment:1234:reply.to”。

Are you able to query for just the beginning of the key to return all users?

如果您的意思是直接查询以 user: 开头的所有键,则有一个 keys命令。但是,此命令应仅用于调试目的,因为它是 O(N)因为它正在搜索存储在数据库中的所有 key 。

这个问题更合适的解决方案是创建专用 key ,我们将其命名为users,它将存储所有用户 key ,例如,在list中。或 set数据结构。

关于Redis key 命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6965451/

相关文章:

ruby - 在 redis 或 memcached (ruby) 中存储复杂对象

node.js - 哪些文件命名对于express.js 中的大型项目有好处?

关于引用方法和变量的 Java 约定

java - 扩展类时应该保留包名吗?

Redis maxmemory-policy noeviction 但键消失无误

java - MQ异步处理、聚合和发布数据

spring-mvc - Redis 间歇性超时

redis - Spinnaker-配置Redis来扩展执行历史记录和缓存

c# - 不同命名空间中的相同类名

python - "are"类的类属性/属性的正确 python 命名约定?