Redis快速起步及Redis常用命令大全
本系列教程内容提要
Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的相关问题,为了更方便的与大家一起探讨与学习,每个章节均提供尽可能详细的示例源码及注释,所有示例源码均可在javacourse-redis-in-action找到相关帮助!
本章目标:
- 什么是Redis
- Redis数据结构
- Redis常用命令
什么是Redis
Redis是一个功能强大的非关系型内存数据库(或者说内存数据结构)服务器,开源软件;
Redis数据结构
Redis有五种存储键与不同数据结结构类型之间的映射,分别是STRING(字符串),LIST(列表),SET(集合),HASH(散列),ZSET(有序集合),熟练运用这五种数据结构才是掌握Redis的核心所在,不可轻视。
数据结构 | 存储值 | 读写能力 |
---|---|---|
STRING | 字符串,整数,浮点数 | 对字符串或部分进行操作;对整数和浮点数执行自增或者自减操作 |
LIST | 链表(每个节点都包含一个字符串) | 链表的推入,弹出;链表的修建;取值;查值;移除; |
SET | 包含字符串的无序收集器,不可重复 | 添加;获取;移除;检查存在;计算交集,并集,差集;随机取值; |
ZSET | 字符串成员与浮点数分值之间的有序映射,元素的排序由分值决定 | 添加;获取;移除; |
HASH | 包含键值对的无序散列表 | 添加;获取;移除; |
Redis常用命令
针对Redis的五种数据结构有如下常用命令。当然,Redis官网提供了更为全面的命令 https://redis.io/commands# http://redisdoc.com/
STRING
基本命令 | 说明 |
---|---|
SET | 设置存储在给定键中的值 |
GET | 获取存储在给定键中的值 |
DEL | 删除存储在给定键中的值 |
数值命令 | 说明 |
---|---|
INCR | 将键存储的值加上1 |
DECR | 将键存储的值减去1 |
INCRBY | 将键存储的值加上Count |
DECRBY | 将键存储的值减去Count |
INCRBYFLOAT | 将键存储的值加上浮点数Float |
操作命令 | 说明 |
---|---|
APPEND | 将VALUE值追加到给定键的值的末尾 |
GETRANGE | 获取偏移量start到end范围内的所有字符组成的子串 |
SETRANGE | 将偏移量strat到end的字串设置为给定值 |
GETBIT | 获取偏移量为offset的二进位值 |
SETBIT | 设置偏移量为offset的二进位值 |
BITCOUNT | 统计二进制位串值为1的数量 |
BITOP | 对一个或者多个二进制位串执行AND,OR,XOR,NOT任意一种运算操作,存在dest-key中 |
LIST
基本操作 | 说明 |
---|---|
PRUSH | 将给定值推入到列表的右端 |
LPUSH | 将给定值推入到列表的左端 |
LPOP | 将列表的左端推出一个值 |
RPOP | 将列表的右端推出一个值 |
LINDEX | 获取列表给定位置元素 |
LRANGE | 返回列表从start到end偏移量在内的所有元素 |
LTRIM | 保留偏移量start到end内的元素 |
高级操作 | 说明 |
---|---|
BLPOP | 从第一个非空列表中弹出最左侧元素,或者在timeout之内阻塞等待元素出现 |
BRPOP | 从第一个非空列表中弹出最右侧元素,或者在timeout之内阻塞等待元素出现 |
RPOPLPUSH | 从第一个列表中弹出右端元素,推入第二列表的左端,返回此元素 |
BRPOPLPUSH | 从第一个列表中弹出右端元素,推入第二列表的左端,返回此元素,如果没有值,阻塞等待出现 |
SET
命令 | 说明 |
---|---|
SADD | 将给定元素添加到集合 |
SREM | 如果给定元素存在集合,则删除 |
SISMEMBER | 检查元素是否存在集合中 |
SCARD | 返回集合包含的元素的数量 |
SMEMBERS | 返回集合包含的所有元素 |
SRANDMEMBER | 从集合中随机返回一个或者多个元素 |
SPOP | 随机从集合中移除一个元素,并返回这个元素 |
SMOVE | 如果这个集合包含key,那么移除,将移除元素添加到dest-key中 |
按位运算符命令 | 说明 |
---|---|
SDIF | 计算差集 |
SDIFFSTORE | 计算差集,并存储到dest-key |
SINTER | 计算交集 |
SINTERSTORE | 计算交集,并存储到dest-key |
SUNION | 计算交集 |
SUNIONSTORE | 计算交集,并存储到dest |
ZSET
命令 | 说明 |
---|---|
ZADD | 将一个带有给定分值的成员添加到有序集合中 |
ZREM | 如果给定成员存在有序集合中,则移除 |
ZCARD | 返回有序集合的数量 |
ZINCRBY | 将member成员的分值加上count |
ZRANK | 返回成员member的在有序集合的排名 |
ZCOUNT | 返回分值在min和max之间的成员数量 |
ZRANGEBYSCORE | 获取有序集合在给定分值范围内的所有元素 |
ZRANGE | 根据元素在有序集合中的位置,从有序集合中取出多个元素,如果给定[WITHSCORES]则返回分值 |
高级命令 | 说明 |
---|---|
ZINTERSTORE | 对给定的有序集合执行类似集合的交集运算 |
ZUNIONSTORE | 对给定的有序集合执行类似集合的并集运算 |
HASH
命令 | 说明 |
---|---|
HSET | 在散列中关联给定的键值对 |
HGET | 获取指定散列键的值 |
HDEL | 如果给定键在散列里面,移除 |
HGETALL | 获取散列包含的所有键值对 |
高级命令 | 说明 |
---|---|
HEXISTS | 检查给定键是否存在散列中 |
HKEYS | 获取散列包含的键 |
HVALS | 获取散列包含的值 |
HINCRBY | 将键Key存储的值加上count |
HINCRBYFLOAT | 将键Key存储的值加上浮点数count |
HGETALL | 获取散列包含的所有键值对 |
其他命令
事务命令 | 说明 |
---|---|
MULTI | 开启事务 |
EXEC | 提交事务 |
排序命令 | 说明 |
---|---|
SORT | 根据给定的选项,对输入的列表,集合或者有序集合进行排序,然后返回或则存储排序结果 |
键的过期 | 说明 |
---|---|
EXEPIRE | 给定键指定多少秒后过期 |
TTL | 查看键还有多少秒过期 |
PERSIST | 移除键的过期时间 |
EXPIREAT | 将过期时间设置为给定的UNIX时间戳 |
PTTL | 查看键还有多少毫秒过期 |
PEXPIRE | 让给定键指定多少毫秒后过期 |
PEXPIREAT | 将过期时间(毫秒精度)设置为给定的UNIX时间戳 |
Redis快速起步及Redis常用命令大全的更多相关文章
- Redis启动服务和String常用命令
Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- db2常用命令大全
#显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...
- Ubuntu常用命令大全(转)
点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...
- Ubuntu常用命令大全[显示桌面]
Ubuntu常用命令大全 查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S filename apt-f ...
- Ubuntu 常用命令大全
Ubuntu 常用命令大全查看软件 xxx 安装内容#dpkg -L xxx查找软件#apt-cache search 正则表达式查找文件属于哪个包#dpkg -S filename apt-file ...
- Linux常用命令大全(全面)
笔者在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 1 ...
- Linux_学习_01_常用命令大全
一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...
- Linux 常用命令大全2
Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...
随机推荐
- [svn] 在线安装
SVN地址:http://subclipse.tigris.org/update_1.6.x/
- Java 二维码--转载
周末试用下Android手机的二维码扫描软件,扫描了下火车票.名片等等,觉得非常不错很有意思的.当然Java也可以实现这些,现在就分享下如何简单用Java实现二维码中QRCode的编码和解码(可以手机 ...
- Intellij IDEA Module 的Language Level的问题
最近从github上fork了张开涛的Shiro代码,IDE是Intellij IDEA.发现无论是Project还是Module,默认的Language Level都是JDK 1.5,而且每次修改都 ...
- Nodejs入门手记 (01):Hello World的WEB程序
声明:本文为原创文章,如需转载,请注明来源并保留原文链接Allong,谢谢! “滚滚长江东逝水,浪花淘尽英雄.是非成败转头空.” - <临江仙·杨慎·明> 很熟悉的旋律,鸡汤了一下:高考是 ...
- linux -- Ubuntu 安装搜狗输入法
在Ubuntu Kylin系统中,默认安装搜狗拼音输入法,但是在原生Ubuntu系统中则不是.这可以理解,毕竟搜狗输入法的Linux版有Kylin团队的不小功劳.由于搜狗输入法确实比Linux系统下其 ...
- socket client简单传输数据
1.整数转换为用于TCP传输的二进制 _host = "127.0.0.1" _port = 5678 _address = (_host, _port) s=socket.soc ...
- 未能在当前目标框架中解析主引用“System.Net.Http”,它是一个框架程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“System.Net.Http”,或将应用程序的目标重新指向包含“System.Net.Http”的框架版本。 Zephyr.Web
解决方法:升级项目到.net framework 4.5
- c++ json cpp
一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 - ...
- ojdbc14.jar 放在kettle那个目录下面
\libext\edtftpj-1.4.5.jar \libext\firebirdsql-full.jar \libext\firebirdsql.jar \libext\gis-shape.jar ...
- electron-searchMovies
之前学了electron,前段时间又学了一下vue,为了增加熟练度决定将两者结合做个有趣的东西.想来想去最后决定将原来用 PyQt 写的MovieHeavens重新写一遍,使用electron-vue ...