但是在搭建好Redis服务后,Redis默认创建了16个数据库(db0~db15),而在Redis集群下只有一个db0数据库。如下图所示。 ? redis单机 ? 此外,客户端与Redis建立连接之后,默认会选择0号数据库即db0,但可以使用select命令更换存储的数据库。 ? 更换db 也可以通过修改配置文件的方式选择默认数据库。 ? 因此,对于Redis来说,用命名空间的方式理解Redis提供的db0~db15数据库会更合适,且一个Redis实例不适合存储多个应用程序的数据。 比如,我们可以这么做:使用db0数据库存储应用程序在生产环境的数据,用db1数据库存储测试环境的数据。但是,不适合用db0数据库存储应用程序A的数据,用db1存储应用程序B的数据。 Redis集群下只有db0,不支持多db。
sudo -u redis /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 20007 -a 123456 info | grep db0 sudo -u redis /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.37 -p 20007 -a 123456 info | grep db0 sudo -u redis /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.38 -p 20007 -a 123456 info | grep db0 sudo -u redis /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.39 -p 20001 -a 123456 info | grep db0 sudo -u redis /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.39 -p 20002 -a 123456 info | grep db0
2.显示开关控制指令:0 0 0 0 0 0 1 D C B (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0) D=1:显示开,D=0:显示关。 5.清屏指令:0 0 0 0 0 0 0 0 0 1 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0) 清除屏幕显示内容。光标返回屏幕左上角。 a a a a (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0) 这个指令用于设置DDRAM地址。 指令执行时,要在DB7—DB0上先设置好要写入的数据,然后执行写命令。 数据就被读入后DB7—DB0。
Laravel 的命令 php artisan cache:clear 用来清除各种缓存,如页面,Redis,配置文件等缓存,它会清空 Redis 数据库的全部数据,比如默认使用的 Redis 的 数据库 是 db0 ,那么执行这个命令后,会清空 db0 中所有数据。 如果你的其他 Redis 数据也在 db0 中,就要注意这个影响,比如后台和其他服务如果都在一个 Redis 的 db 中。
本篇博客基于该数据库进行讲解 ; 1、切换数据库 执行 select 1 命令 , 可以切换到 db1 数据库 ; 脚本示例 : 先切换到 db1 数据库 , 查看 keys 键 , 发现是空的 , 再切换回 db0 127.0.0.1:6379> keys * 1) "name2" 127.0.0.1:6379> 2、查询当前数据库键个数 执行 dbsize 命令 , 查看当前数据库中 键 的个数 ; 脚本示例 : 当前 db0 > keys * (empty list or set) 127.0.0.1:6379> 4、清空所有数据库 执行 flushall 命令 , 可以清空所有数据库内容 ; 脚本示例 : 先在 db0 插入 name=Tom 键值对 , 然后切换到 db2 数据库 , 执行 清空所有数据库内容的命令 , 再次切换回 db0 , 发现该数据库内容被清空 ; 127.0.0.1:6379> 127.0.0.1
实战 数据库脚本 id主键不设置为自增,分别在db0和db1创建t_order_2019、t_order_2020三个表 CREATE TABLE `t_order` ( `id` bigint( Mapper.xml logging.level.com.lzn.shardingsphere.dao=debug spring.shardingsphere.datasource.names = db0 18:00:59.099 INFO 948 --- [ main] ShardingSphere-SQL : Actual SQL: db0 18:00:59.099 INFO 948 --- [ main] ShardingSphere-SQL : Actual SQL: db0 18:00:59.099 INFO 948 --- [ main] ShardingSphere-SQL : Actual SQL: db0
2.1 初始化并启动 InfluxDB 容器 # mkdir InfluxDB # cd InfluxDB/ # sudo docker run --rm\ -e INFLUXDB_DB=db0 init-influxdb.sh # docker run --name=influxdb -d -p 8086:8086 -v $PWD:/var/lib/influxdb influxdb # 这里初始化了 db0 > use db0 Using database db0 > SELECT * FROM device_frmpayload_data_temperature name: device_frmpayload_data_temperature
而在集群的情况下不支持使用select命令来切换db,因为Redis集群模式下只有一个db0。再扩展一些集群与单机Reids的区别,感兴趣的朋友可以去查阅相关的资料深入理解,这里就不做讨论了。 批量操作支持有限:例如mget、mset必须在一个slot Key事务和Lua支持有限:操作的key必须在一个节点 key是数据分区的最小粒度:不支持bigkey分区 不支持多个数据库:集群模式下只有一个db0 最后要注意,Redis集群下只有db0,不支持多db。
其中db0是默认的数据库名,也就是说,我们前面存进去的uname就在该数据库中。 展开db0数据库,即可看到uname数据。
个数据库 , 默认使用 0 号数据库 ; 所有的数据库 都 使用 相同的 密码 访问 ; 使用 select 2 可以 切换成 db2 数据库 ; 下图是 在本地创建的 Redis 服务器 , 默认生成有 db0 ~ db15 这 16 个数据库 , 默认使用 db0 数据库 ; 三、Redis 访问机制 ---- Redis 数据库 的 访问机制是 单线程 + 多路 IO 复用 机制 ; IO 多路复用 :
报错如下: 原因: redis集群模式下只能选择db0,选择其他库会抛以上异常。
etc/mongod.conf 也可以重新指定一个repairPath mongod --dbpath /etc/mongo/db --repair --repairPath /etc/mongo/db0 mongod --dbpath /etc/mongo/db --repair --repairPath /etc/mongo/db0 查了查mongodb的文档,遂用以下方法进程修复: 首先停止
:key elif [[ $# == 2 ]];then case $2 in keys) result=`$REDIS_PA| /bin/grep -w "db0" print $2}'` echo $result ;; expires) result=`$REDIS_PA| /bin/grep -w "db0 print $4}'` echo $result ;; avg_ttl) result=`$REDIS_PA|/bin/grep -w "db0 awk -F'=|,' '{print $6}'` echo $result ;; *) echo "Usage:$0{db0 keys|db0 expires|db0 avg_ttl}" ;; esac fi 编辑agent配置文件 cat /etc/zabbix/zabbix_agentd.d/redis.conf
而在集群的情况下不支持使用select命令来切换db,因为Redis集群模式下只有一个db0。再扩展一些集群与单机Reids的区别,感兴趣的朋友可以去查阅相关的资料深入理解,这里就不做讨论了。 批量操作支持有限:例如mget、mset必须在一个slot Key事务和Lua支持有限:操作的key必须在一个节点 key是数据分区的最小粒度:不支持bigkey分区 不支持多个数据库:集群模式下只有一个db0 最后要注意,Redis集群下只有db0,不支持多db。整理了一份Java面试宝典完整版PDF
扫码关注腾讯云开发者
领取腾讯云代金券