Redis基础

发布于:2024-07-02 ⋅ 阅读:(12) ⋅ 点赞:(0)

Redis基础

启动服务

开启服务

redis-server

运行redis

redis-cli

十大数据类型

1-5为基础类型,6-10为特殊类型

序号 数据类型/功能 描述 示例命令
1 String 最基础的数据类型,用于存储字符串或数字 SET name "AZ"
2 List 列表,用于存储多个有序的字符串 LPUSH list01 "AZ"
3 Set 集合,用于存储多个无序且不重复的字符串 SADD set01 "AZ"
4 Hash 散列,用于存储多个键值对 HSET hash01 field "AZ"
5 Zset 有序集合,用于存储多个带分数的字符串,按分数排序 ZADD zset01 score "AZ"
6 Bitmaps 位图,用于存储大量开关状态信息,节省空间 SETBIT key offset value
7 HyperLogLog 用于估计一个集合中不重复元素的数量,占用空间极小 PFADD hll_key element
8 Geospatial 地理位置,用于存储和查询地理空间信息 GEOADD location_key longitude latitude name
9 Streams Redis 5.0引入的数据流,用于消息传递 XADD stream_key * field value
10 Modules Redis模块,支持扩展Redis的功能,如RedisSearch、RedisBloom等 安装并使用相应的模块

String字符串

# 添加字符串
SET mystring "Hello, Redis!"

# 获取字符串
GET mystring

# 追加字符串
APPEND mystring "Hello,world!"

# 删除字符串
DEL mystring

List列表

# 添加数据
Lpush mylist value1  

# 批量添加 LPUSH从左 RPUSH从右开始
RPUSH mylist value2 value3 value4

# 查看mylist的0索引到-1索引的值
LRANGE mylist 0 -1

# 修改指定索引 LSET从左数2索引
LSET mylist 2 newValue

# 删除一个值为value1数据
LREM mylist 1 value1

# 删除所有值为value1数据
LREM mylist 0 value1

# 删除mylist
DEL mylist

Set集合

# 添加一个或多个set数据
SADD myset value1  
SADD myset value2 value3

# 移除指定元素
SREM myset value2
# 随机移除指定元素并返回
SPOP myset

# 查询集合所有元素
SMEMBERS myset
# 检查一个元素是否是集合的成员
SISMEMBER myset value1

# 返回集合元素数量
SCARD myset

# 随机返回集合中的一个或多个元素,但不移除它们
SRANDMEMBER myset  
SRANDMEMBER myset 2  # 返回两个随机元素

Hash哈希

# 添加键name 值"AZURE" 如果myhash不存在则自动创建
HSET myhash name "AZURE"

# 查询键为name的值
HGET myhash name  

# 查询所有键值对
HGETALL myhash

# 检查字段是否存在
HEXISTS myhash name

# 获取哈希中所有键值对数量
HLEN myhash  

# 获取所有的键
HKEYS myhash

# 获取所有的值
HVALS myhash  

# 删除字段
HDEL myhash name

Zset有序集合

# 添加元素 批量添加
ZADD myzset 1 "one"  
ZADD myzset 2 "two" 3 "three"

# 删除一个元素  
ZREM myzset "one"  
# 删除分数在某个范围内的所有元素  
ZREMRANGEBYSCORE myzset 2 3  
# 删除排名在某个范围内的所有元素(注意排名是从0开始的)  
ZREMRANGEBYRANK myzset 0 1

# 将"one"元素的分数更新为10  
ZADD myzset 10 "one"

# 返回分数从低到高排序的所有元素  
ZRANGE myzset 0 -1  

Redis对 key 的操作

指令 说明
DEL key 删除该键
DUMP key 序列化key,并返回序列化值
EXISTS key 检查键值是否存在
EXPIREAT key timestamp 设置键的过期时间,默认单位秒
PEXPIRE key milliseconds 设置过期时间,单位毫秒
KEYS pattern 查找所有符合给定模式(pattern)的key,*:任意,?:单个匹配字符,[]:通配括号内的某个字符
MOVE key db 将key从当前数据库移动到db数据库
PTTL key 剩余过期时间(毫秒)
TTL key 剩余过期时间(秒)
RANDOMKEY 从库中随机返回一个值
RENAME key newkey 将key重命名为newkey
TYPE key 查看键的数据类型