redis数据库【第二期】
本文主讲:连接redis数据库及其redis数据库的数据类型
通过指令连接 redis 数据库
第一步:开启 redis 服务器
指令:redis-server
注意:redis-server中的 - 两边没有空格
第二步:开启 redis 客户端
指令:redis-cli -a 设置的密码
注意:如果设置了密码需要在 redis-cli 后面跟上 -a 设置的密码
第三步:输入 ping 即可进入 redis 数据库
redis-cli 的指令选项都是干什么的
选项:
-a:用于认证密码 例如 redis-cli -a yhq256112
-h:用于指定连接的 ip 地址 例如 redis-cli -h 192.168.1.8 【可用于远程连接数据库】
-p:用于指定redis数据库监听的端口号 例如 redis-cli -p 6379 【注意端口号一般都指定为6379】
远程连接数据库
redis数据库的数据类型
如何向 redis 指定数据库添加数据
答:在连接上数据库之后执行下面指令即可选择指定数据库存放数据【redis默认有16个逻辑数据库,第一个数据库索引编号为0】
指令:select 2
指令解析:选择索引编号为2的数据库【第三个数据库】存放数据
redis 数据库中 String 数据类型的操作
数据结构:{“key”:“value”}
操作语法:
添加单条数据:set key value
取出单条数据:get key
添加多条数据:mset key1 value1 key2 value2
取出多条数据:mget key1 key2
图示:
redis 数据库中 Hashes【散列】 数据类型的操作
数据结构:{“外key”:{ “key1”:“value1”,“key2”:“value2”}} 也就是字典的嵌套
操作语法:
添加单条数据:hset 外key key1 value1
取出单条数据:hget 外key key1
添加多条数据:hmset 外key key1 value1 key2 values
取出多条数据:hmget 外key key1 key2
取出外key对应的所有数据:hgetall 外key
删除数据:hdel 外key key1 key2
图示:
redis 数据库中 List【列表】 数据类型的操作
数据结构:{“外键key”:“ [ ‘value1’,’value2’,’value3’ ] ”}
PS:value的值可以重复,并且列表是有序的
操作语法:
在列表的左侧插入数据【单条和多条】:lpush 外键 value1 value2…..
在列表的右侧插入数据【单条和多条】:rpush 外键 value1 value2…..
查找列表内指定索引的值:lrange 外键 开始索引 结束索引
计算外键对应列表的长度:llen 外键
删除指定数量的数据:lrem 外键 删除数量 待删除的value
图示:
注意事项:
1:在列表内插入【两端插入】数据,新来的数据总是占两端端点处!
2:删除数据时,如果删除数据的数量大于现存数据量,那么这些数据全部删除,如果小于现存数据量,就从列表前面【左端】依次开始删除
redis 数据库中 Sets【集合】 数据类型的操作
数据结构:{“外键key”:“ ( ‘value1’,’value2’,’value3’ ) ”}
PS:value的值不可重复,并且set是没有顺序的
操作语法:
向外键key内的集合添加数据【单条和多条】:sadd 外键 value1 value2 value3
查找外键内集合的所有数据:smembers 外键
计算外键内集合的长度:scard 外键
删除外键内集合中指定数据:srem 外键 待删除的数据1 待删除的数据2
图示:
注意:
1:因为集合是无序的,索引不支持索引,因此不能用索引查询
2:集合说是无序的【应用层】,其实底层系统也帮集合数据排好序了
redis 数据库中 Sorted Set【有序集合】 数据类型的操作
数据结构:{“外键key”:“ ( ‘value1’,’value2’,’value3’ ) ”}
PS:value的值不可重复,并且set是有顺序的【根据权重从小到大排序】
操作语法:
向外键key所对应的有序集合内插入有序数据【单条和多条】:zadd 外键key 值1的权重 值1 值2的权重 值2
查找外键所对应的有序集合内指定索引的数据:zrange 外键 开始索引 结束索引
计算外键内有序集合的长度:zcard 外键
删除外键内有序集合中指定数据:zrem 外键 待删除的数据1 待删除的数据2
图示:
redis 数据库中查找与删除的通用操作
通用操作:指令作用域是五个数据类型,而不仅仅是指定一个
查找所有键【字符串类型】与外键【哈希、列表、集合、有序集合】指令:keys *
删除指定键【字符串类型】与外键【哈希、列表、集合、有序集合】指令:del 键1 键2 外键1….
图示:
reids 数据库中层级目录的操作
什么是层级目录:在 redis 数据库内层级目录就类似于文件夹的分级结构!
为什么要设置层级目录:方便同类型数据的查询
图示:
层级目录文件结构:
持续更新中…….