【Redis】非关系型数据库之Redis的增删改查

目录

一、Redis的数据类型分类

二、Redis的字符串类型string

三、Redis的列表list

四、Redis的哈希hash

五、Redis的无序集合set

六、Redis的有序集合zset

七、Redis的通用命令


一、Redis的数据类型分类

通常Redis的数据类型有五大基础类型

  • String(字符串)
  • List(列表)
  • Hash(哈希/散列)
  • Set(无序集合)
  • Zset/Sorted Set(有序集合)

此外还有其他的,三种特殊的数据类型

  • HyperLogLogs(基数统计)
  • Bitmaps (位图)
  • geospatial (地理位置)

二、Redis的字符串类型string

复制代码
String
set 键 值
get 键
del 键

三、Redis的列表list

lpush

rpush

复制代码
List
lpush|rpush 键 值1 值2 值3 .... ##可以给键赋值 同时也可以给键追加新的值


lrange 键  起始下标    终止下标  ##查询
           0(第一个) -1(最后一个)

lpop|rpop 键 [数量]  ##移除多少个值,默认是1个

linsert 键 before|after 值 新的值  ##插入新的值

lrem 键  元素个数  元素值  ##删除多少个元素

del 键  ##删除键

四、Redis的哈希hash

复制代码
Hash
hset 键 字段1 值1 字段2 值2 ....
hget 键 字段
hgetall 键
hkeys 键
hvals 键
hdel 键 字段
del 键

五、Redis的无序集合set

复制代码
Set
sadd 键 值1 值2 值3 ....
smembers 键
srem 键 值
del 键

六、Redis的有序集合zset

复制代码
Zset
zadd 键 序号1 值1  序号2 值2 ....
zrange 键 起始下标  终止下标 [withscores]
          0         -1
zrangebyscore 键 起始序号 结束序号
zrem 键 值1 值2 ....
zrembyscore 键  起始序号 结束序号
del 键

七、Redis的通用命令

复制代码
通用
type 键                                      查看键的数据类型
keys 键 * ?                                  查询键名,支持通配符 * ?
exists 键                                    判断键是否存在
expire 键 过期时间                           为已存在的键设置过期时间
setex 键 过期时间 值                         创建string类型的键并设置过期时间
ttl 键                                       查看键的生命周期时间,-1 永不过期,-2 已过期
rename 旧键 新键                             重命名键名,会覆盖已存在的键
renamenx 旧键 新键                           重命名键名,不会覆盖已存在的键
dbsize                                       统计当前库中键的总数
config set requirepass '密码'                设置/修改redis密码
config get requirepass                       查看密码
auth '密码'                                  在redis里验证密码
select 库ID                                  切换库,默认库ID为 0~15
move 键 库ID                                 移动键到指定的库
flushdb                                      清空当前库(慎用)
flushall                                     清空所有库(慎用)
相关推荐
森G9 分钟前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者14 分钟前
linux mailbox 学习
linux·学习·算法
晚霞的不甘27 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
lpruoyu34 分钟前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
市场部需要一个软件开发岗位1 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华21 小时前
mysql索引
数据库·mysql
China_Yanhy1 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑1 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒1 小时前
每天一个Linux命令_printf
linux·运维·服务器
虾说羊1 小时前
docker容器化部署项目流程
运维·docker·容器