Redis 数据库

本文详细介绍了Redis中客户端和服务端的常用命令,涵盖了数据操作如键值对、哈希、列表、集合和有序集合的设置、获取、删除等操作,为理解Redis的数据模型和管理提供了全面的参考。
摘要由CSDN通过智能技术生成

目录

1. 客户端和服务端命令

1.1 服务器端

1.2 客户端

2. 数据操作

2.1 普通键值对保存

2.2 设置键值以及过期的时间

2.3 设置多个键值

2.4 根据键获取值,如果不存在返回nil

2.5 根据多个键获取多个值

3. 键命令

3.1查看所有键

3.2 查看名称中包含n的键

3.3 判断键是否存在,如果存在返回1,否则返回0

3.4 查看键对应的value类型

3.5 删除键值对

4. hash 类型

4.1 设置单个属性

4.2 设置多个属性

4.3 获取指定的键所有的字段

4.4 获取一个字段的值

4.5 获取指定的多个字段的值

4.6 获取所有字段的值

4.7 删除字段,字段对应的值会被一起删除

4.8 删除整个hash数据,使用del 

5. list类型

5.1 从列表左侧插入数据

5.2 在列表右侧插入数据

5.3 在列表右侧插入数据

5.4 删除指定元素

6.set类型

6.1 添加元素

6.2 获取元素

6.3 删除元素

7.zset类型

7.1 添加数据

7.2 获取数据

7.3 删除数据


1. 客户端和服务端命令
1.1 服务器端
  • 服务器端的命令为 redis-server
  • 可以使⽤help查看帮助⽂档 redis-server --help
  • 服务器操作
    • ps aux | grep redis 查看redis服务器进程
    • sudo kill -9 pid 杀死redis服务器
    • sudo redis-server /etc/redis/redis.conf指定加载的配置文件
1.2 客户端
  • 客户端的命令为 redis-cli
  • 可以使⽤help查看帮助⽂档 redis-cli --help
  • 连接redis  redis-cli
  • 运⾏测试命令  ping
  • 切换数据库  select 10
2. 数据操作

Redis是key-value的数据结构,每条数据都是一个键值对。键的类型是字符串,并且键不能重复。

Reids中的数据类型:

  ✨ 字符串string

  ✨哈希hash

  ✨ 列表list

  ✨集合set

  ✨ 有序集合zset

2.1 普通键值对保存

如果设置的键不存在则为添加,如果设置的键已经存在则修改。

set key value
2.2 设置键值以及过期的时间
setex key seconds value
2.3 设置多个键值
mset key1 value1 key2 value2 ...
2.4 根据键获取值,如果不存在返回nil
get key
2.5 根据多个键获取多个值
mget key1 key2 key3 ...
3. 键命令
3.1查看所有键

查看所有键: keys pattern

// 语法
keys pattern

// 查看所有键
keys *
3.2 查看名称中包含n的键
keys n*
3.3 判断键是否存在,如果存在返回1,否则返回0
// 语法
exists key
// 判断键 name  是否存在
exists name
3.4 查看键对应的value类型
// 语法
type key
// 判断age对应的值的类型
type age
3.5 删除键值对
// 语法
del key1 key2 ...
// 删除age与gender
del age gender
4. hash 类型

hash用于存储对象,对象的结构为属性、值,值的类型为string。

4.1 设置单个属性
// 语法
hset key field value
// 设置user的属性为name,name对应的值为xiaoming
hset user name xiaoming
4.2 设置多个属性
// 语法
hmset key field1 value1 field2 value2 ...
// 设置键为student的字段name对应的值为xiaoming字段age对应的值为12
hmset student name xiaoming age 12
4.3 获取指定的键所有的字段
// 语法
hkeys key
// 获取键student中的所有字段
hkeys student
4.4 获取一个字段的值
// 语法
hget key field
// 获取student中的name字段所对应的值
hget student name
4.5 获取指定的多个字段的值
// 语法
hmget key field1 field2 ...
// 获取student 中的name、age的值
hmget student name age
4.6 获取所有字段的值
// 语法
hvals key 
// 获取student中的所有字段的值
hvals student
4.7 删除字段,字段对应的值会被一起删除
// 语法
hdel key field1 field2 ...

// 删除student中的age字段
hdel student age
4.8 删除整个hash数据,使用del 
del student
5. list类型
5.1 从列表左侧插入数据
// 语法
lpush key value1 value2 ...
// 从键为name的列表左侧插入数据a、b、c
lpush name a b c
5.2 在列表右侧插入数据
// 语法
rpush key value1 value2 ...
// 从键为name_2的列表的右侧插入数据a、b、c
rpush name a b c
5.3 在列表右侧插入数据
// 语法
lrange key start stop
'''
start、stop为元素的索引
	1. 索引从左侧开始,第一个元素为0
    2. 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
'''
// 获取列表name_1、name_2中的所有元素
lrange name_1 0 -1
lrange name_2 0 -1
5.4 删除指定元素
'''
根据索引count删除对应的值
   1. count > 0: 从左往右删除
   2. count < 0: 从右往左删除
   3. count = 0: 删除所有
'''
// 语法
lrem key count value
// 创建测试列表并左插入三组a、b
lpush test_list a b a b a b
// 查看列表数据
lrange test_list 0 -1
// 从test_list列表中的右侧开始删除2个b字母
lrem test_list -2 b
// 查看删除效果
lrange test_list 0 -1
6.set类型

✨ 集合类型是无序的,并且集合中的元素类型为string

✨ 集合中的元素具有唯一性,不能重复。

✨ 集合类型没有修改操作。

6.1 添加元素
// 语法
sadd key member1 member2 ...
// 向键user_name的集合中添加元素:xiaoming、xiaoqiang、xiaodong
sadd user_name xiaoming xiaoqiang xiaodong
6.2 获取元素
// 获取所有元素 
smembers key
// 获取键user_name集合中所有的元素
smembers user_name
6.3 删除元素
// 删除指定元素
srem key
// 删除指定键user_name中的元素:xiaoming
srem user_name xiaoming
7.zset类型

zset类型是一个有序集合,元素为string类型。

✨  zset类型和无序集合一样,元素具有唯一性,不能重复,并没有修改操作。

在有序集合中的每个元素都会关联一个double类型score,表示权重,通过权重将元素从小​​​​​到大排序。

7.1 添加数据
// 语法
zadd key socre1 member1 socre2 member2 ...

// 向键user_name_2集合中添加元素: liming、wangmei、xiaoming、xiaoqiang权重分别为4 5 6 3
zadd user_name_2 4 liming 5 wangmei 6 xiaoming 3 xiaoqiang
7.2 获取数据
// 语法
zrange key start stop
'''
	start、stop为元素的索引
  	1. 索引从左侧开始,第一个元素索引为0
    2. 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
'''
// 获取键user_name_2集合中的所有元素
zrange user_name_2 0 -1
7.3 删除数据
// 语法
zrem key member1 member2 ...
// 删除user_name_2集合中的元素: zhangsan
zrem user_name_2 zhangsan
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值