redis数据库【第二期】

本文主讲:连接redis数据库及其redis数据库的数据类型

通过指令连接 redis 数据库

第一步:开启 redis 服务器

指令:redis-server
注意:redis-server中的 - 两边没有空格

第二步:开启 redis 客户端

指令:redis-cli -a 设置的密码
注意:如果设置了密码需要在 redis-cli 后面跟上 -a 设置的密码

第三步:输入 ping 即可进入 redis 数据库

image-20211006201254018

redis-cli 的指令选项都是干什么的

选项:

-a:用于认证密码 例如 redis-cli -a yhq256112

-h:用于指定连接的 ip 地址 例如 redis-cli -h 192.168.1.8 【可用于远程连接数据库】

-p:用于指定redis数据库监听的端口号 例如 redis-cli -p 6379 【注意端口号一般都指定为6379】

image-20211006201319023

远程连接数据库

image-20211006201326357

redis数据库的数据类型

如何向 redis 指定数据库添加数据

答:在连接上数据库之后执行下面指令即可选择指定数据库存放数据【redis默认有16个逻辑数据库,第一个数据库索引编号为0】

指令:select 2

指令解析:选择索引编号为2的数据库【第三个数据库】存放数据

image-20211006201835213

redis 数据库中 String 数据类型的操作

数据结构:{“key”:“value”}

操作语法:

添加单条数据:set key value

取出单条数据:get key

添加多条数据:mset key1 value1 key2 value2

取出多条数据:mget key1 key2

图示:

image-20211006201858412

redis 数据库中 Hashes【散列】 数据类型的操作

数据结构:{“外key”:{ “key1”:“value1”,“key2”:“value2”}} 也就是字典的嵌套

image-20211006201915642

操作语法:

添加单条数据:hset 外key key1 value1

取出单条数据:hget 外key key1

添加多条数据:hmset 外key key1 value1 key2 values

取出多条数据:hmget 外key key1 key2

取出外key对应的所有数据:hgetall 外key

删除数据:hdel 外key key1 key2

图示:

image-20211006201933622

redis 数据库中 List【列表】 数据类型的操作

数据结构:{“外键key”:“ [ ‘value1’,’value2’,’value3’ ] ”}

PS:value的值可以重复,并且列表是有序的

image-20211006202005338

操作语法:

在列表的左侧插入数据【单条和多条】:lpush 外键 value1 value2…..

在列表的右侧插入数据【单条和多条】:rpush 外键 value1 value2…..

查找列表内指定索引的值:lrange 外键 开始索引 结束索引

计算外键对应列表的长度:llen 外键

删除指定数量的数据:lrem 外键 删除数量 待删除的value

图示:

image-20211006202021426

注意事项:

1:在列表内插入【两端插入】数据,新来的数据总是占两端端点处!

image-20211006202033646

2:删除数据时,如果删除数据的数量大于现存数据量,那么这些数据全部删除,如果小于现存数据量,就从列表前面【左端】依次开始删除

redis 数据库中 Sets【集合】 数据类型的操作

数据结构:{“外键key”:“ ( ‘value1’,’value2’,’value3’ ) ”}

PS:value的值不可重复,并且set是没有顺序的

image-20211006202101239

操作语法:

向外键key内的集合添加数据【单条和多条】:sadd 外键 value1 value2 value3

查找外键内集合的所有数据:smembers 外键

计算外键内集合的长度:scard 外键

删除外键内集合中指定数据:srem 外键 待删除的数据1 待删除的数据2

图示:

image-20211006202115415

注意:

1:因为集合是无序的,索引不支持索引,因此不能用索引查询

2:集合说是无序的【应用层】,其实底层系统也帮集合数据排好序了

redis 数据库中 Sorted Set【有序集合】 数据类型的操作

数据结构:{“外键key”:“ ( ‘value1’,’value2’,’value3’ ) ”}

PS:value的值不可重复,并且set是有顺序的【根据权重从小到大排序】

image-20211006202141528

操作语法:

向外键key所对应的有序集合内插入有序数据【单条和多条】:zadd 外键key 值1的权重 值1 值2的权重 值2

查找外键所对应的有序集合内指定索引的数据:zrange 外键 开始索引 结束索引

计算外键内有序集合的长度:zcard 外键

删除外键内有序集合中指定数据:zrem 外键 待删除的数据1 待删除的数据2

图示:

image-20211006202200317

redis 数据库中查找与删除的通用操作

通用操作:指令作用域是五个数据类型,而不仅仅是指定一个

查找所有键【字符串类型】与外键【哈希、列表、集合、有序集合】指令:keys *

删除指定键【字符串类型】与外键【哈希、列表、集合、有序集合】指令:del 键1 键2 外键1….

图示:

image-20211006202221048

reids 数据库中层级目录的操作

什么是层级目录:在 redis 数据库内层级目录就类似于文件夹的分级结构!

为什么要设置层级目录:方便同类型数据的查询

图示:

image-20211006202238649

层级目录文件结构:

image-20211006202248298

持续更新中…….