Redis——02 学习
Redis——02
前面了解了 Redis 以及在 Linux 的安装,下面了解一些 Redis 常用的命令。
Redis 常用命令:
Redis 是 Key-Value 形式,Key 为字符串类型,而 Value 的取值类型如下:
- String 字符串
- Hash 哈希表
- List 列表
- Set 集合
- Sorted Set 有序 Set(ZSet)
预先设置一些值:
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 学习的更多相关文章
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- Redis安全学习
Redis安全学习 一直在听SSRF打Redis,那Redis到底是啥,正式的认真学习一下. 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvat ...
- memcache/redis 缓存学习笔记
0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...
- redis入门学习记录(二)
继第一节 redis入门学习记录(一)之后,我们来学习redis的基本使用. 接下来我们看看/usr/local/redis/bin目录下的几个文件作用是什么? redis-benchmark:red ...
- 笔记-redis深入学习-1
笔记-redis深入学习-1 redis的基本使用已经会了,但存储和读取只是数据库系统最基础的功能: 数据库系统还得为可靠实现这两者提供一系列保证: 数据.操作备份和恢复,主要是持久化: 高可用:主要 ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- redis 高级学习和应用场景
redis 高级学习 1.redis 复制 2.redis 集群 3.哨兵机制 4.spring 与哨兵结合 5.数据恢复与转移 6.redis 的阻塞分析 redis 实战 1. 数据缓存(热点数据 ...
- redis命令学习(二) · THIS SPACE
列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...
- redis概要学习
redis 概要学习 redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Re ...
- Redis in Action : Redis 实战学习笔记
1 1 1 Redis in Action : Redis 实战学习笔记 1 http://redis.io/ https://github.com/antirez/redis https://ww ...
随机推荐
- [题解] Atcoder Regular Contest ARC 146 A B C D 题解
点我看题 A - Three Cards 先把所有数按位数从多到少排序,答案的位数一定等于位数最多的三个数的位数之和\(tot\).对于每个i,把有i位的数排序,并记录每个i的排序结果.最后枚举答案中 ...
- Codeforces Round #823 (Div. 2) A-D
比赛链接 A 题解 知识点:贪心. 对于一个轨道,要么一次性清理,要么一个一个清理.显然,如果行星个数大于直接清理的花费,那么选择直接清理,否则一个一个清理.即 \(\sum \min (c,cnt[ ...
- PHP全栈开发(八):CSS Ⅸ dispaly & visibility
display用来设置一个元素如何显示: visibility用来设置一个元素可见还是隐藏. visibility:hidden: 这个语句会使元素在HTML页面中不可见.但是这个元素仍然会占用HTM ...
- P6189 [NOI Online #1 入门组] 跑步 (DP/根号分治)
(才了解到根号分治这样的妙方法......) 将每个数当成一种物品,最终要凑成n,这就是一个完全背包问题,复杂度O(n2),可以得80分(在考场上貌似足够了......) 1 #include < ...
- day10-习题
习题 1.Homework01 (1) D -- 没有在别名上加引号(ps:别名的as可以省略) (2) B -- 判断null或非空不能用不等于号 (3) C 2.Homework02 写出查看de ...
- centos7 安装RabbitMQ3.6.15 以及各种报错
成功图镇楼 各个版本之间的差异不大,安装前要确保rabbitmq 的版本和 elang的版本一致.预防各种错乱. 注意点:(重要!!重要!!) * 同时安装的时候最好确保rabbitmq和erlang ...
- 在电脑主机(MainFrame)中只需要按下主机的开机按钮(on()),即可调用其它硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(Hard
欢迎大家加入我的社区:http://t.csdn.cn/Q52km 社区中不定时发红包 文章目录 1.UML类图 2.源码 3.优缺点 1.UML类图 2.源码 package com.zheng; ...
- Teambition企业内部应用开发指南
Teambition企业内部应用Python开发指南 注意:此文章并非搬运,一小部分仅为借鉴. Teambition提供了API接口,我们可以注册成为开发者,然后通过接口获取Teambition的数据 ...
- 怎么样子盒子能撑起父盒子?浮动,BFC,边距重叠
怎么样子盒子能撑起父盒子? 从行内元素跟块元素来看: 一般情况下,行内元素只能包含数据和其他行内元素. 而块级元素可以包含行内元素和其他块级元素. 块级元素内部可以嵌套块级元素或行内元素. 建议行内元 ...
- HashMap基本使用方法
HashMap Map集合基于 键(key)/值(value)映射.每个键最多只能映射一个值.键可以是任何引用数据类型的值,不可重复:值可以是任何引用数据类型的值,可以重复:键值对存放无序. Hash ...