redis常用的命令行以及操作
redis常用的命令行以及操作
Redis简介:
1.Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
2.几个特点:
存储的数据类型
字符串,散列,列表,集合,有序集合
内存存储持久化
内存读写速度快,持久化到硬盘(RDB,AOF)
功能丰富
可用于缓存,队列,消息订阅发布
支持键的生存时间
按照一定规则删除键
简单稳定
比SQL稳定简单
支持多种客户端
c语言开发,3万行代码
3.有5种数据结构,分别是:String, List, Hash, Set, SortedSet.
4.有2种持久化机制,分别是:RDB,AOF。(见下一篇文章)
下面说一下这几种数据类型的命令行操作
1.String
1). set key value : 将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型.
2). get key : 返回 key 所关联的字符串值。如果key 不存在那么返回特殊值 nil 。
3). MSET key value [key value ...] : 同时设置一个或多个key-value 对。如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值
4). MGET key [key ...] : 返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
5). MSETNX key value [key value ...] : 同时设置一个或多个key-value 对 . 即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。
6). APPEND key value : 如果 key 已经存在并且是一个字符串,APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value
7). INCR key : 将 key 中储存的数字值增一。(使用广泛,比如商品存储时,使用redis统一管理id)
8). DECR key : 将 key 中储存的数字值减一。
9). INCRBY key increment : 将 key 所储存的值加上增量increment 。
10). DECRBY key decrement : 将 key 所储存的值减去减量decrement 。
11). GETSET key value : 将给定 key 的值设为 value ,并返回 key 的旧值(oldvalue)。
12). STRLEN key : 返回 key 所储存的字符串值的长度
13). SETNX key value : 将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。
14). SETEX key seconds value : 将值 value 关联到 key ,并将 key 的生存时间设为seconds (以秒为单位)。
15). SETRANGE key offset value : 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量offset 开始。
16). GETRANGE key start end : 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 决定(包括 start 和 end 在内)。
17). SETBIT key offset value : 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
18).GETBIT key offset : 对 key 所储存的字符串值,获取指定偏移量上的位(bit).
2.List
1). LPUSH key value [value ...] : 将一个或多个值 value插入到列表 key 的表头.
2). LRANGE key start end : 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 end 指定。
3). LPUSHX key value : 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。
4). LPOP key : 移除并返回列表 key 的头元素。
5). LLEN key : 返回列表 key 的长度。
6). LREM key count value : 根据参数 count 的值,从头部开始移除列表中与参数 value 相等的元素。
7). LSET key index value : 将列表 key 下标为 index 的元素的值设置为value 。
8). LINDEX key index : 返回列表 key 中,下标为 index 的元素。
9). LTRIM key start end : 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
10). LINSERT key BEFORE|AFTER pivot value :将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
11). RPUSH key value [value ...] : 将一个或多个值 value插入到列表 key 的表尾(最右边)。
12). RPUSHX key value : 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。
13). RPOP key : 移除并返回列表 key 的尾元素。
14).RPOPLPUSH source destination : 在一个原子时间内,执行两个动作:将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。
3.Hash
1). HSET key field value : 将哈希表 key 中的域 field 的值设为 value 。
2). HGET key field : 返回哈希表 key 中给定域 field 的值。
3). HSETNX key field value : 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。
4). HEXISTS key field : 查看哈希表 key 中,给定域 field 是否存在。
5). HLEN key : 返回哈希表 key 中域的数量。
6). HDEL key field [field ...] : 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
7). HINCRBY key field increment : 为哈希表 key 中的域 field 的值加上增量increment 。
8). HGETALL key : 返回哈希表 key 中,所有的域和值。
9). HKEYS key : 返回哈希表 key 中的所有域。
10). HVALS key : 返回哈希表 key 中所有域的值。
11). HMSET key field value [field value...] : 同时将多个 field-value (域-值)对设置到哈希表 key 中。
12). HMGET key field [field ...] : 返回哈希表 key 中,一个或多个给定域的值.
4.Set
1). SADD key member [member ...] : 将一个或多个 member元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
2). SMEMBERS key : 返回集合 key 中的所有成员。
3). SCARD key : 返回集合 key 的基数(集合中元素的数量)。
4). SISMEMBER key member : 判断 member 元素是否集合 key 的成员。
5). SPOP key : 移除并返回集合中的一个随机元素。
6). SRANDMEMBER key : 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。
7). SREM key member [member ...] : 移除集合 key 中的一个或多个member 元素,不存在的 member 元素会被忽略。
8). SMOVE source destination member : 将 member 元素从 source 集合移动到destination 集合。SMOVE 是原子性操作。
9). SDIFF set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合之间的差集。
10). SDIFFSTORE diffSet set1 set2 : 这个命令的作用和SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。
11). SUNION set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合的并集。
12). SUNIONSTORE unionset set1 set2 : 这个命令类似于SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。
13). SINTER set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合的交集。
14). SINTERSTORE interset set1 set2: 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。
5.SortedSet
1). ZADD key score member [[scoremember] ...] : 将一个或多个 member元素及其 score 值加入到有序集 key 当中。
2). ZCARD key : 返回有序集 key 的元素个数。
3). ZINCRBY key increment member : 为有序集 key 的成员 member 的 score 值加上增量increment 。
4). ZCOUNT key min max : 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
5). ZRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。(按照排名取)
6). ZREVRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。(按照排名取)
7). ZRANGEBYSCORE key min max [WITHSCORES][LIMIT offset count] : 返回所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
8). ZREVRANGEBYSCORE key max min[WITHSCORES] [LIMIT offset count] : 返回score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按score 值递减(从大到小)的次序排列。
9). ZRANK key member : 返回有序集 key 中成员 member 的排名。其中有序集成员按score 值递增(从小到大)顺序排列。
10). ZREVRANK key member : 返回有序集 key 中成员 member 的排名。其中有序集成员按score 值递减(从大到小)排序。
11). ZSCORE key member : 返回有序集 key 中,成员 member 的 score 值。
12). ZREM key member [member ...] : 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
13). ZREMRANGEBYRANK key start stop : 移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。
14).ZREMRANGEBYSCORE key min max : 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
redis常用的命令行以及操作的更多相关文章
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 十条常用nmap命令行格式
十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- redis常用的命令总结
redis常用的命令大全 1.基于内存的key-value数据库 2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次 3.支持数据持久化 4.value可以 ...
- Hadoop HDFS的shell(命令行客户端)操作实例
HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs ...
- HDFS shell命令行常见操作
hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...
- redis常用监控命令
redis常用监控命令 1.实时监控redis服务收到来自应用的所有命令 1 2 3 4 5 6 7 redis-cli 127.0.0.1:6379>monitor 150996415 ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
随机推荐
- 01 MATLAB基本概念
基本概念 整数类型 相同整数类型相乘还是整数 整数与浮点数相乘是这种整数类型 不同整数类型不能相乘,除非强制类型转换 整数与整数相乘: >> x = uint32(120); >&g ...
- 为什么maven没有.m2文件
该问题可能描述不清,建议你重新提问 为什么maven没有.m2文件 彼岸之恋°DD | 浏览 4793 次 问题未开放回答 2016-09-23 17:29 最佳答案 对于初学者在安装配置好maven ...
- Python之第一次自夸
有一个好玩的代码 import win32com.client g = win32com.client.Dispatch("SAPI.SPVOICE") g.Speak(" ...
- system调用
调用系统命令,利用fork+exec+wait来执行系统命令,依赖系统环境
- 吴裕雄--天生自然HADOOP学习笔记:使用yum安装更新软件
实验目的 了解yum的原理及配置 学习软件的更新与安装 学习源代码编译安装 实验原理 1.编译安装 前面我们讲到了安装软件的方式,因为linux是开放源码的,我们可以直接获得源码,自己编译安装.例如: ...
- 解决Ubuntu(linux)系统中PHP的curl函数无法使用的问题
我之前用的Windows的服务器,未出现问题,后来把服务器重装了系统,今天在学微信公众号获取信息的时候,发现curl函数出现了问题...... 解决方法 首先连接上服务器,找到/etc/php/7.0 ...
- 2_05_MSSQL课程_查询_where,group by,having的区别以及内连接、案例练习
SQL查询顺序 select distinct/top ..._ (5) 投影 from_(1)找到表 where_ (2)过滤掉我们不需要的数据 group by_ (3)分组操作 h ...
- 大数据萌新的Python学习之路(三)
笔记内容: 一.集合及其运算 在之列表中我们可以存储数据,并且对数据进行各种各样的操作.但是如果我们想要对数据进行去重时是十分麻烦的,需要使用循环,要建立新的列表,还要 进行对比,十分的麻烦,还消耗 ...
- [翻译]使用Visual Studio Code怎样调试Rust
我将 Visual Studio Code 作为Rust首选编辑器.遗憾的是 VS Code 不能非常好地完成 Rust 的调试. 配置调试器不难,但仍然需要几个步骤.我已经完整配置了好几次.我正在写 ...
- IdentityServer4专题之三:OAuth、SSO和OpenID
一.oauth 典型案例:如果一个用户R拥有两项服务:一项服务是图片在线存储服务A,另一个是图片在线打印服务B.由于服务A与服务B是由两家不同的服务提供商提供的,所以用户在这两家服务提供商的网站上各自 ...