我想使用redis来存储一些我自己的键值对,但是我的一些模块已经使用它。会话数据的redis快速会话存储以及套接字io的redis适配器。所以我的问题很简单,我如何创建或指定一个数据库/名称空间来存储我自己的密钥而不会发生密钥冲突?我正在使用node-redis驱动程序。如何在redis上命名空间键以避免名称冲突?
1
A
回答
4
解决方案1:在不同的Redis实例
最严格隔离的不同模块的存储数据被存储在一个单独的的Redis实例的每个模块,即一个单独的Redis过程的数据。
解决方法2:在一个单一的Redis实例
一个Redis的实例可以有多个数据库,并且可以在配置文件中配置的数据库数量的不同数据库不同模块的存储数据。默认情况下,有16个数据库。
这些数据库使用基于零的数字索引进行命名。使用select command,您可以使用数据库第。选择之后,任何后续命令都将在数据库上运行。
所以,如果你为每个模块分配一个独立的数据库,你可以避免名称冲突。
解决方案3:用键前缀创建命名空间
如果所有的数据都存储在一个数据库中,你仍然可以隐式地创建一个命名空间与关键前缀。对于每个模块,该模块的所有数据应具有相同的密钥模式:ModuleName:KeyName
,即该模块的每个密钥具有相同的前缀:ModuleName
。
由于每个模块具有不同的名称,因此这些模块之间不会有任何名称冲突。
相关问题
- 1. 名称空间避免冲突 - 例子?
- 2. 避免命名空间冲突
- 3. Tcl命名空间重命名以避免冲突
- 4. 如何在名称空间中生成soap4r wsdl2ruby类以避免名称冲突?
- 5. Node.js,如何避免事件名称空间冲突?
- 6. 如何避免javascript命名空间冲突?
- 7. 如何避免在C#中命名空间和源文件名冲突?
- 8. 如何重命名共享库以避免同名冲突?
- 9. 如何避免css类名称的名称冲突
- 10. 避免Java MPI绑定中的名称空间冲突
- 11. 避免QML中的名称冲突
- 12. XML名称空间冲突
- 13. 命名空间+类命名冲突
- 14. 命名空间冲突
- 15. java命名空间冲突
- 16. Javascript命名空间冲突
- 17. Fortran命名空间冲突
- 18. 架构名称与表名 - 如何避免冲突?
- 19. 如何解决名称空间冲突?
- 20. Joomla 2.5:GD库 - 如何命名文件以避免冲突
- 21. 避免CSS类名冲突
- 22. 如何避免列名冲突?
- 23. 你如何避免类名冲突?
- 24. 命名空间中的类名冲突
- 25. 别名和命名空间冲突
- 26. PHP命名空间别名冲突?
- 27. 别名冲突命名空间c#
- 28. 避免在Type.GetType(给予命名空间名称)
- 29. 型走样,以避免在类型精名称冲突
- 30. 如何避免在Python模块系统中命名冲突?