Redis之通用命令与String类型存储
Redis之通用命令与String类型存储
- 一、Redis通用命令
- 1. 键的基本操作
- 2. 键的过期操作
- 3. 键的其他操作
- 二、String类型存储
- 1. String类型的特点
- 2. String类型的常用命令
- 3. String类型的应用场景
Redis作为一款高性能的键值对数据库,凭借其丰富的数据结构和出色的性能,在缓存、计数器、分布式锁等场景中被广泛应用,本文重点讲解Redis的通用命令以及最基础常用的String类型存储。
一、Redis通用命令
通用命令是指适用于Redis中所有数据类型的命令,主要用于对键(key)进行操作和管理。
1. 键的基本操作
-
SET key value:设置指定键的值。如果键已存在,会覆盖原有值。
127.0.0.1:6379> SET name "zhangsan" OK
-
GET key:获取指定键的值。如果键不存在,返回nil。
127.0.0.1:6379> GET name "zhangsan"
-
DEL key [key …]:删除指定的一个或多个键。返回被删除键的数量。
127.0.0.1:6379> DEL name (integer) 1
-
EXISTS key:检查键是否存在。存在返回1,不存在返回0。
127.0.0.1:6379> EXISTS name (integer) 0
2. 键的过期操作
-
EXPIRE key seconds:为键设置过期时间,单位为秒。过期后键会被自动删除。
127.0.0.1:6379> SET age 20 OK 127.0.0.1:6379> EXPIRE age 60 (integer) 1
-
TTL key:查看键的剩余过期时间,单位为秒。返回-1表示键永不过期,-2表示键已过期或不存在。
127.0.0.1:6379> TTL age (integer) 50
-
PERSIST key:移除键的过期时间,使键永不过期。
127.0.0.1:6379> PERSIST age (integer) 1
3. 键的其他操作
-
KEYS pattern:查找所有符合给定模式(pattern)的键。
*
匹配任意多个字符,?
匹配单个字符。127.0.0.1:6379> KEYS * 1) "age" 2) "name"
-
TYPE key:返回键所存储值的数据类型。
127.0.0.1:6379> TYPE name string
-
RENAME key newkey:将键重命名为newkey。如果newkey已存在,会被覆盖。
127.0.0.1:6379> RENAME name username OK
二、String类型存储
String是Redis中最基本的数据类型,它可以存储字符串、整数和浮点数,最大存储容量为512MB。
1. String类型的特点
- 二进制安全:可以存储任何形式的字符串,包括图片、视频等二进制数据。
- 灵活的存储格式:既可以存储普通字符串,也可以存储数字,便于进行自增、自减等操作。
- 单值存储:每个键对应一个值。
2. String类型的常用命令
-
SET key value [EX seconds] [PX milliseconds] [NX|XX]:设置键的值,可同时指定过期时间(EX为秒,PX为毫秒)。NX表示仅当键不存在时才设置,XX表示仅当键存在时才设置。
127.0.0.1:6379> SET score 100 EX 120 NX OK
-
GET key:获取键的值,前面已介绍。
-
APPEND key value:将值追加到已有键的值后面。如果键不存在,相当于执行SET key value。
127.0.0.1:6379> SET msg "hello" OK 127.0.0.1:6379> APPEND msg " world" (integer) 11 127.0.0.1:6379> GET msg "hello world"
-
STRLEN key:返回键的值的长度。
127.0.0.1:6379> STRLEN msg (integer) 11
-
INCR key:将键的整数值加1。如果键不存在,先将其值设为0再加1;如果值不是整数,返回错误。
127.0.0.1:6379> INCR count (integer) 1 127.0.0.1:6379> INCR count (integer) 2
-
DECR key:将键的整数值减1,用法与INCR类似。
127.0.0.1:6379> DECR count (integer) 1
-
INCRBY key increment:将键的整数值加上指定的增量。
127.0.0.1:6379> INCRBY count 5 (integer) 6
-
DECRBY key decrement:将键的整数值减去指定的减量。
127.0.0.1:6379> DECRBY count 3 (integer) 3
-
INCRBYFLOAT key increment:将键的浮点数值加上指定的增量。
127.0.0.1:6379> SET price 9.9 OK 127.0.0.1:6379> INCRBYFLOAT price 0.1 "10"
-
GETSET key value:设置键的新值,并返回键的旧值。如果键不存在,返回nil。
127.0.0.1:6379> GETSET name "lisi" "zhangsan" 127.0.0.1:6379> GET name "lisi"
3. String类型的应用场景
- 缓存:存储热点数据,如用户信息、商品详情等,减轻数据库压力。例如,将用户ID作为键,用户信息的JSON字符串作为值存储。
- 计数器:利用INCR、DECR等命令实现网站访问量、商品销量等计数功能。
- 分布式锁:通过SET命令的NX参数,结合过期时间,实现简单的分布式锁。
- 限流器:记录单位时间内的请求次数,通过INCR命令计数,超过阈值则限制访问。
- 存储Session:在分布式系统中,将用户的Session信息存储在Redis中,实现Session共享。
总结
通用命令主要用于对键进行管理,包括创建、查询、删除、设置过期时间等操作;String类型作为Redis最基础的数据类型,具有灵活的存储格式和丰富的操作命令,在多种场景中广泛应用。
若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ