阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Redis基本操作相关命令集锦

375次阅读
没有评论

共计 3540 个字符,预计需要花费 9 分钟才能阅读完成。

Redis 简介

  • Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
  • Redis 是 NoSQL 技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

默认端口:6379

默认数据库:16 个

服务器端命令:redis-server

客户端命令:redis-cli

切换数据库:select  0~15  例如:select  2  就是切换到 2 号数据库

redis 每条数据都是⼀个键值对,值的类型分为五种:

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 zset

string 类型

保存

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

  • 设置键值

    set key value

  • 例 1:设置键为 name 值为 itcast 的数据

    set name itcast

  • 设置键值及过期时间,以秒为单位

    setex key seconds value

  • 例 2:设置键为 aa 值为 aa 过期时间为 3 秒的数据

    setex aa 3 aa

  • 设置多个键值

    mset key1 value1 key2 value2 …

  • 例 3:设置键为 ’a1’ 值为 ’Python’、键为 ’a2’ 值为 ’Java’、键为 ’a3’ 值为 ’c’

    mset a1 python a2 java a3 c

  • 追加值

    append key value

  • 例 4:向键为 a1 中追加值 ’ haha’

    append a1 haha

获取

  • 获取:根据键获取值,如果不存在此键则返回 nil

    get key

  • 例 5:获取键 ’name’ 的值

    get name

  • 根据多个键获取多个值

    mget key1 key2 …

  • 例 6:获取键 a1、a2、a3’ 的值

    mget a1 a2 a3

删除

  • 删除键及对应的值

    del key1 key2 …

  • 例 7:删除键 a2、a3

    del a2 a3

键命令

  • 查找键,参数⽀持正则表达式

    keys pattern

  • 例 1:查看所有键

    keys *

  • 例 12:查看名称中包含 a 的键

    keys ‘a*’

  • 判断键是否存在,如果存在返回 1,不存在返回 0

    exists key1

  • 例 3:判断键 a1 是否存在

    exists a1

  • 查看键对应的 value 的类型

    type key

  • 例 4:查看键 a1 的值类型,为 redis ⽀持的五种类型中的⼀种

    type a1

  • 设置过期时间,以秒为单位

  • 如果没有指定过期时间则⼀直存在,直到使⽤ DEL 移除

    expire key seconds

  • 例 5:设置键 ’a1’ 的过期时间为 3 秒

    expire a1 3

  • 查看有效时间,以秒为单位

    ttl key

  • 例 6:查看键 ’bb’ 的有效时间

    ttl bb

hash 类型

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

增加、修改

  • 设置单个属性

    hset key field value

  • 例 1:设置键 user 的属性 name 为 itheima

    hset user name itheima

  • 设置多个属性

    hmset key field1 value1 field2 value2 …

  • 例 2:设置键 u2 的属性 name 为 itcast、属性 age 为 11

    hmset u2 name itcast age 11

获取

  • 获取指定键所有的属性

    hkeys key

  • 例 3:获取键 u2 的所有属性

    hkeys u2

  • 获取⼀个属性的值

    hget key field

  • 例 4:获取键 u2 属性 ’name’ 的值

    hget u2 name

  • 获取多个属性的值

    hmget key field1 field2 …

  • 例 5:获取键 u2 属性 ’name’、’age 的值

    hmget u2 name age

  • 获取所有属性的值

    hvals key

  • 例 6:获取键 ’u2’ 所有属性的值

    hvals u2

删除

  • 删除整个 hash 键及值,使⽤ del 命令
  • 删除属性,属性对应的值会被⼀起删除

    hdel key field1 field2 …

  • 例 7:删除键 ’u2’ 的属性 ’age’

    hdel u2 age

list 类型

  • 列表的元素类型为 string
  • 按照插⼊顺序排序

增加

  • 在左侧插⼊数据

    lpush key value1 value2 …

  • 例 1:从键为 ’a1’ 的列表左侧加⼊数据 a、b、c

    lpush a1 a b c

  • 在右侧插⼊数据

    rpush key value1 value2 …

  • 例 2:从键为 ’a1’ 的列表右侧加⼊数据 0 1

    rpush a1 0 1

  • 在指定元素的前或后插⼊新元素

    linsert key before 或 after 现有元素 新元素

  • 例 3:在键为 ’a1’ 的列表中元素 ’b’ 前加⼊ ’3′

    linsert a1 before b 3

获取

  • 返回列表⾥指定范围内的元素

    • start、stop 为元素的下标索引
    • 索引从左侧开始,第⼀个元素为 0
    • 索引可以是负数,表示从尾部开始计数,如 - 1 表示最后⼀个元素

    lrange key start stop

  • 例 4:获取键为 ’a1’ 的列表所有元素

    lrange a1 0 -1

设置指定索引位置的元素值

  • 索引从左侧开始,第⼀个元素为 0
  • 索引可以是负数,表示尾部开始计数,如 - 1 表示最后⼀个元素

    lset key index value

  • 例 5:修改键为 ’a1’ 的列表中下标为 1 的元素值为 ’z’

    lset a 1 z

删除

  • 删除指定元素

    • 将列表中前 count 次出现的值为 value 的元素移除
    • count > 0: 从头往尾移除
    • count < 0: 从尾往头移除
    • count = 0: 移除所有

    lrem key count value

  • 例 6.1:向列表 ’a2’ 中加⼊元素 ’a’、’b’、’a’、’b’、’a’、’b’

    lpush a2 a b a b a b

  • 例 6.2:从 ’a2’ 列表右侧开始删除 2 个 ’b’

    lrem a2 -2 b

  • 例 6.3:查看列表 ’py12’ 的所有元素

    lrange a2 0 -1

set 类型

  • ⽆序集合
  • 元素为 string 类型
  • 元素具有唯⼀性,不重复
  • 说明:对于集合没有修改操作

增加

  • 添加元素

    sadd key member1 member2 …

  • 例 1:向键 ’a3’ 的集合中添加元素 ’linuxmi’、’lisi’、’linuxidc’

    sadd a3 linuxmi sili linuxidc

获取

  • 返回所有的元素

    smembers key

  • 例 2:获取键 ’a3’ 的集合中所有元素

    smembers a3

删除

  • 删除指定元素

    srem key

  • 例 3:删除键 ’a3’ 的集合中元素 ’linuxidc’

    srem a3 linuxidc

zset 类型

  • sorted set,有序集合
  • 元素为 string 类型
  • 元素具有唯⼀性,不重复
  • 每个元素都会关联⼀个 double 类型的 score,表示权重,通过权重将元素从⼩到⼤排序
  • 说明:没有修改操作

增加

  • 添加

    zadd key score1 member1 score2 member2 …

  • 例 1:向键 ’a4’ 的集合中添加元素 ’lisi’、’linuxidc’、’muu’、’linuxmi’,权重分别为 4、5、6、3

    zadd a4 4 lisi 5 linuxidc 6 muu 3 linuxmi

获取

  • 返回指定范围内的元素
  • start、stop 为元素的下标索引
  • 索引从左侧开始,第⼀个元素为 0
  • 索引可以是负数,表示从尾部开始计数,如 - 1 表示最后⼀个元素

    zrange key start stop

  • 例 2:获取键 ’a4’ 的集合中所有元素

    zrange a4 0 -1

  • 返回 score 值在 min 和 max 之间的成员

    zrangebyscore key min max

  • 例 3:获取键 ’a4’ 的集合中权重值在 5 和 6 之间的成员

    zrangebyscore a4 5 6

  • 返回成员 member 的 score 值

    zscore key member

  • 例 4:获取键 ’a4’ 的集合中元素 ’linuxmi’ 的权重

    zscore a4 linuxmi

删除

  • 删除指定元素

    zrem key member1 member2 …

  • 例 5:删除集合 ’a4’ 中元素 ’linuxmi’

    zrem a4 linuxmi

  • 删除权重在指定范围的元素

    zremrangebyscore key min max

  • 例 6:删除集合 ’a4’ 中权重在 5、6 之间的元素

    zremrangebyscore a4 5 6

下面关于 Redis 的文章您也可能喜欢,不妨参考下:

CentOS 7 下 Redis 的安装与配置 https://www.linuxidc.com/Linux/2017-02/140363.htm
Redis 单机 & 集群离线安装部署 https://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 https://www.linuxidc.com/Linux/2016-09/135071.htm
Redis 实战 中文 PDF https://www.linuxidc.com/Linux/2016-04/129932.htm
Redis 启动之后警告信息解决方案集锦 https://www.linuxidc.com/Linux/2018-02/150957.htm
Redis 高可用及分片集群 https://www.linuxidc.com/Linux/2018-07/153189.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3540字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7902853
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...