通用部分
-
更换数据库
- ✅ 正确:
SELECT 1
切换到数据库索引为 1 的数据库。 - 补充:Redis 默认有 16 个数据库,索引范围是
0-15
。可以在redis.conf
文件中修改数量。
- ✅ 正确:
-
在数据库里存数据
- ✅ 正确:
SET key value
存储键值对。
- ✅ 正确:
四种存储数据的增删查找
1. 键值对(String 类型)
- ✅ 增加:
SET hello 'zxh'
保存键值对。 - ✅ 查找:
GET hello
获取键的值。 - ✅ 删除:
DEL hello
删除键值对。
2. 列表(List 类型)
- 增加:
- ✅
LPUSH listname ok
:从左边插入。 - ✅
RPUSH listname ok
:从右边插入。
- ✅
- 弹出:
- ✅
RPOP listname
:从右边弹出。 - ✅
LPOP listname
:从左边弹出。
- ✅
- 获取:
- ✅
LINDEX listname 1
:获取指定索引(从 0 开始)的元素。 - ✅
LRANGE listname 0 3
:获取从索引0
到3
范围内的所有元素(包括3
)。- 补充:
LRANGE
的结束索引可以为-1
,表示最后一个元素。
- 补充:
- ✅
3. 集合(Set 类型)
- 插入:
- ✅
SADD setname ok1
:向集合中插入元素。
- ✅
- 获取:
- ✅
SMEMBERS setname
:获取集合中的所有元素。
- ✅
- 判断:
- ✅
SISMEMBER setname okk
:判断okk
是否在集合setname
中,返回1
或0
。
- ✅
- 补充:
- 集合去重:集合中的元素是无序且唯一的,重复插入相同元素不会报错,但集合内容不会变化。
4. 哈希(Hash 类型)
- 插入:
- ✅
HSET hashname name zxh
:在哈希表中插入域和值。
- ✅
- 查看所有域-值:
- ✅
HGETALL hashname
:获取所有域和值。
- ✅
- 获取指定域的值:
- ✅
HGET hashname name
:获取hashname
哈希表中name
域的值。
- ✅
- 删除:
- ✅
HDEL hashname name
:删除hashname
哈希表中的name
域。
- ✅
- 补充:
- 如果域不存在,
HGET
返回nil
。
- 如果域不存在,
5. 有序集合(Sorted Set 类型)
- 插入:
- ✅
ZADD zsetname 100 语文
:插入一个分值为100
的元素语文
。 - 补充:分值(
score
)可以是整数或浮点数,用来排序。
- ✅
- 排序:
- ✅
ZRANGE zsetname 0 -1 WITHSCORES
:按分值从小到大排序,返回所有元素及其分值。
- ✅
- 按分值范围查询:
- ✅
ZRANGEBYSCORE zsetname 0 200 WITHSCORES
:获取分值在0
到200
之间的所有元素及分值。
- ✅
- 删除:
- ✅
ZREM zsetname 语文
:删除有序集合中语文
元素。
- ✅
- 补充:
- 按分值范围删除:可以用
ZREMRANGEBYSCORE
,例如:
这会删除分值在ZREMRANGEBYSCORE zsetname 0 50
0
到50
范围内的所有元素。
- 按分值范围删除:可以用
- 总结重点
- 每种数据类型的适用场景和特点可以补充说明:
- String:适合存储简单的键值对,如缓存数据。
- List:适合存储有序队列,如任务队列。
- Set:适合去重场景,如用户标签。
- Hash:适合存储对象数据,如用户信息。
- Sorted Set:适合排名场景,如排行榜。
- 每种数据类型的适用场景和特点可以补充说明: