Redis——02

前面了解了 Redis 以及在 Linux 的安装,下面了解一些 Redis 常用的命令。

Redis 常用命令:

Redis 是 Key-Value 形式,Key 为字符串类型,而 Value 的取值类型如下:

  • String 字符串
  • Hash 哈希表
  • List 列表
  • Set 集合
  • Sorted Set 有序 Set(ZSet)

Redis 命令相关手册

预先设置一些值:

set smg1 "smg1"
set smg2 "smg2"

1. Key 操作

1.1 exists

作用:判断 Key 是否存在

语法:exists key_name [key]

return:存在则返回有查询所到的个数,不存在则返回 0。

1.2expire

作用:用于设置 key 的过期时间。key 过期后将不再可用。

语法:expire key_name time_seconds 单位是秒

return:成功返回1,失败返回0

ttl key_name 查看指定 key 的剩余生存时间,单位是秒。

redis 2.8+:key 不存在返回 -2,key 存在但是没有设置剩余时间时,返回 -1。

1.3 del

作用:删除指定的 key,可以是多个 key。

语法:del key_name [key]

return:返回删除成功的个数

2. 字符串值

2.1 set

作用:设置指定的 key 的值

语法:set key value

value 中如果没有空格可以不用双引号,如果有空格则需要双引号。

return:成功 OK。

如果对一个 key 进行多次的 set,则会进行覆盖。

2.2 get

作用:根据指定的 key 查询值。

语法:get key

return:查询到的值,如果没有则返回 (nil),表示没有查到。

2.3 setnx

作用:新增一个 key,只有在 key 不存在的时候做新增,如果 key 存在,则新增失败,不会对其进行覆盖。

语法:setnx key value

return:成功返回 1,失败返回 0。

2.4 setex

作用:新增一个 key,并且设置有效时长单位是秒,同时是可以覆盖已存在的 key 所对应的 value,同时也会覆盖有效时长。

语法:setex key seconds value

return:成功 OK。

2.5 mset

作用:批量设置 key,如果已存在则覆盖。没有则新增

语法:mset key1 value1 ...keyN valueN

return:OK

2.6 mget

作用:批量查看 key

语法:mget key1 ...keyN

return:按照请求的 key 顺序返回

3. Hash

3.1 hset

作用:用于为哈希表中的字段赋值。

语法:hset key field value

return:成功 OK,如果哈希表中域字段(field)已经存在了 value 则会进行覆盖,返回0。

3.2 hget

作用:用于返回哈希表中指定字段的值。

语法:hget key field

return:返回给定字段的值。如果给定的字段或 key 不存在时,返回 nil 。

3.3 hmset

作用:用于同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。

语法:hmset key field1 value1 ...fieldN valueN

return:如果命令执行成功,返回 OK 。

3.4 hmget

作用:用于返回哈希表中,一个或多个给定字段的值。

如果指定的字段不存在于哈希表,那么返回一个 nil 值。

语法:hmget key field1 ... fieldN

return:一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样。

3.5 hkeys

作用:用于返回哈希表中,表的所有字段名

语法:hkeys key

return:返回该哈希表中所有的字段名,当 key 不存在时,返回一个空列表。

3.6 hvals

作用:命令返回哈希表所有字段的值

语法:hvals key

return:一个包含哈希表中所有值的表。 当 key 不存在时,返回一个空表。

3.7 hgetall

作用:用于返回哈希表中,所有的字段和值。

语法:hgetall key

return:以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。

3.8 hdel

作用:命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略

语法:hdel key field1 ...field2

return:被成功删除字段的数量,不包括被忽略的字段。

如果所有的 field 都被删除,则这个哈希表则也会被删除。

也可以直接使用 del 命令删除整个哈希表。

3.9 flushall(全局)

作用:命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。

语法:flushall

return:总是返回 OK。

4. 列表/链表 List

可重复,按序排列

4.1 rpush

作用:命令用于将一个或多个值插入到列表的尾部(最右边)。

如果列表不存在,一个空列表会被创建并执行 rpush 操作。 当列表存在但不是列表类型时,返回一个错误。

语法:rpush key value1 ...valueN

return:执行 RPUSH 操作后,列表的长度。

4.2 lpush

作用:命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 lpush 操作。 当 key 存在但不是列表类型时,返回一个错误。

语法:lpush key value1 ...valueN

return:执行 LPUSH 命令后,列表的长度。

4.3 llen

作用:用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。

语法:llen key

return:列表的长度。

4.4 lrange

作用:返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

语法:lrange key start end

return:一个列表,包含指定区间内的元素。

4.5 lrem

作用: 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素

count > 0:表示从表头到表尾搜索并移除 count 个与 value 相等的元素。

count < 0:表示从表尾到表头搜索并移除 count 个与 value 相等的元素。

count = 0:移除表中所有与 VALUE 相等的值。

语法:lrem key count value

return:被移除元素的数量。 列表不存在时返回 0。

4.6 lindex

作用:命令用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推

语法:lindex key index_num

return:列表中下标为指定索引值的元素。 如果指定索引值不在列表的区间范围内,返回 nil 。

5. 集合 Set

跟 Java中的 set 一样,元素不可以重复

5.1 sadd

5.2 smembers

5.3 scard

5.4 srem

6. 有序集合 Sorted Set

有序集合中每个 value 都有一个分数(score),根据分数进行排序。

每个值都要设置分数

6.1 zadd

6.2 zrange

6.3 zrem

Redis——02 学习的更多相关文章

  1. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  2. Redis安全学习

    Redis安全学习 一直在听SSRF打Redis,那Redis到底是啥,正式的认真学习一下. 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvat ...

  3. memcache/redis 缓存学习笔记

    0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...

  4. redis入门学习记录(二)

    继第一节 redis入门学习记录(一)之后,我们来学习redis的基本使用. 接下来我们看看/usr/local/redis/bin目录下的几个文件作用是什么? redis-benchmark:red ...

  5. 笔记-redis深入学习-1

    笔记-redis深入学习-1 redis的基本使用已经会了,但存储和读取只是数据库系统最基础的功能: 数据库系统还得为可靠实现这两者提供一系列保证: 数据.操作备份和恢复,主要是持久化: 高可用:主要 ...

  6. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  7. redis 高级学习和应用场景

    redis 高级学习 1.redis 复制 2.redis 集群 3.哨兵机制 4.spring 与哨兵结合 5.数据恢复与转移 6.redis 的阻塞分析 redis 实战 1. 数据缓存(热点数据 ...

  8. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  9. redis概要学习

    redis 概要学习 redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Re ...

  10. Redis in Action : Redis 实战学习笔记

    1 1 1 Redis in Action : Redis  实战学习笔记 1 http://redis.io/ https://github.com/antirez/redis https://ww ...

随机推荐

  1. Ubuntu转到root用户后用户名路径没有颜色

    看到好多都直接把普通会用户的.bashrc配置复制到root家目录下,由于本人小白,很多.bashrc配置看不懂,也不敢随便修改.于是找到别的配置方法. 普通用户的os@a:~$和root用户的roo ...

  2. 关于vmware虚拟机的ova/ovf转换成aws上的AMI镜像

    很多时候,我们会有这样的需求,需要将DC中vmware虚拟化的服务器,迁移到aws上,我们就得先将vmware虚拟机导出,然后转换 关于vmvare虚拟的导出备份,一般有ova(Open Virtua ...

  3. Docker | 镜像浅析,以及制作自己的镜像

    分层下载,docker image 的核心: 联合文件系统 镜像是什么 镜像就是一个轻量的.独立的软件包.用来打包运行环境和基于运行环境开发的软件.它包含软件运行所需的所有内容(包括代码.运行时.库. ...

  4. do-while循环的使用

    一.循环结构的4个要素 ① 初始化条件 ② 循环条件 --->是boolean类型 ③ 循环体 ④ 迭代条件 二.do-while循环结构: ①do{ ③; ④;}while(②); 执行过程: ...

  5. LeetCode------两数之和(3)【数组】

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 ...

  6. 齐博x1内容评论标签的风格制作

    评论的标签如下: {qb:comment name="xxxxx" rows='5'} HTML代码片段 {/qb:comment} 评论涉及到的元素有{posturl} 这个是代 ...

  7. LcdTools如何自定义读写PX01 SSD2828寄存器

    LcdToos打开相应的工程文件,连接PX01并开启点亮屏使LcdTools开关处于开启状态. 切到"测试设置"栏,在"Bridge控制"栏,在"Ad ...

  8. Ruoyi表单构建

    Ruoyi表单构建通过拖动组件就能自动生成前端代码,很方便,所以本文简单通过上层函数源码来梳理一下大致流程,如有需要再自行仔细一行行分析底层代码. 组件拖动 实现组件拖动功能主要依赖第三方库:VueD ...

  9. shell脚本之一键部署openV~P~N

    提前准备:/root目录下: checkpsw.sh ## 官方提供的自定义脚本,可在http://openvpn.se/files/other/checkpsw.sh下载 openvpn@.serv ...

  10. HTML躬行记(4)——Web音视频基础

    公司目前的业务会接触比较多的音视频,所以有必要了解一些基本概念. 文章涉及的一些源码已上传至 Github,可随意下载. 一.基础概念 本节音视频的基础概念摘自书籍<FFmpeg入门详解 音视频 ...