比如说我有多个项目,都想用redis的话,怎么区分? 说圡一点,就是有木有类似“表”或者namespace的这个概念。还是说一个redis只能用于一个项目,或者说可以用于多个项目但是数据全部混杂在一起?
数据存储的话,不同的应用建议使用多个db,redis是支持的,但是在某些场景下,集群环境,可能不支持select命令,这个时候通用的做法是,不同业务的key,使用不同的前缀,这样使用scan或keys命令时,也非常好检索
每个数据库对外都是以一个从 0 开始的递增数字命名,Redis 默认支持16个数据库,可以通过配置 database 参数来修改,客户端建立连接后默认选择 0 号数据库,不过可以随时使用 SELECT 命令更换数据库。
2.Redis 不支持自定义数据库的名字,每个数据库以编号命名
3.Redis 也不支持为每个数据库设置不用的访问密码
4.每个数据库之间不是完全隔离,比如 FLUSHALL 命令会清空一个 Redis 实例中所有数据。
综上所述,这种数据库更像是命名空间,而不适宜储存不同应用程序的数据。由于 Redis 非常轻量级,每个空实例只有1MB 左右内存,所以不用担心多个 redis 实例额外占用很多内存。
实例是指不同进程、不同端口、不同 data 文件夹。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。