本系列教程内容提要

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常用命令大全的更多相关文章

  1. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  2. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  3. db2常用命令大全

    #显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...

  4. Ubuntu常用命令大全(转)

    点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...

  5. Ubuntu常用命令大全[显示桌面]

    Ubuntu常用命令大全 查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S filename apt-f ...

  6. Ubuntu 常用命令大全

    Ubuntu 常用命令大全查看软件 xxx 安装内容#dpkg -L xxx查找软件#apt-cache search 正则表达式查找文件属于哪个包#dpkg -S filename apt-file ...

  7. Linux常用命令大全(全面)

    笔者在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 1 ...

  8. Linux_学习_01_常用命令大全

    一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...

  9. Linux 常用命令大全2

    Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...

随机推荐

  1. 用javascript将数据导入Excel

    网上收集的代码 <input type="button" name="out_excel" onclick="AutomateExcel();& ...

  2. 6款强大的 jQuery 网页布局创建及优化插件

    本文将为您介绍6款功能强大的jQuery插件,它们能够帮助您方便快捷地创建复杂的网络布局并进行优化. 1.UI.Layout 该插件可以创建任何你想要的UI形式:包括从简单的标题或侧边栏,到一个包含工 ...

  3. 15款最好的 jQuery 网格布局插件

    如今,大多数网站设计要靠网格系统和布局,这能够提供给设计人员一个方便的途径来组织网页上的内容.网格的设计最常见于报纸和杂志的版面,由文字和图像构成的列组成. 这篇文章给大家分享精心挑选的15款最佳的 ...

  4. hibernate、struts、spring mvc的作用

    Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提 ...

  5. 关于IFrame表述正确的有:()

    A. 通过IFrame,网页可以嵌入其他网页内容,并可以动态更改 B. 在相同域名下,内嵌的IFrame可以获取外层网页的对象 C. 在相同域名下,外层网页脚本可以获取IFrame网页内的对象 D. ...

  6. 建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法

    建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法. #include <iostream> /* run this program using the console pau ...

  7. 其它系统与domino系统单点登录的实现方式

     其它系统与domino系统单点登录的实现方式 [背景] 随着企业中业务不断增多,用户处理不同的业务则须要频繁的切换不同的系统进行操作.而用户则须要记住各个系统的username.password ...

  8. 转载:MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

    转自:http://www.jb51.net/article/39199.htm 本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍, ...

  9. 利用Graphviz 可视化GO 数据库

    GO是一个同源蛋白的数据库,按照三大类别BP(生物学过程), MF(分子功能), CC(细胞组分) 对基因的产物-蛋白质进行了分类: 在GO数据库中,本质上是一个有向无环图的数据结构,在三大类别之下, ...

  10. R read.table函数的check.names参数

    今天用cummeRbund 对cuffdiff的结果进行可视化, 一直报错,之前跑的好好的,找了半天原因, 原来出现在read.table这个函数上: read.table有一个参数check.nam ...