本系列教程内容提要

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. 关于Cocos2d-x中UI按钮的定义

    1.要有两张不同状态的图片 2.定义一个MenuItemSprite的实例,把这两张图的Sprite实例放进MenuItemSprite的实例 3.把MenuItemSprite的实例放进Menu实例 ...

  2. 颜色ARGB的混合

    Alpha 透明度混合算法,网上收集整理,分成以下三种: 一. R1,G1,B1,Alpha1 为前景颜色值[混合颜色 上图层],R2,G2,B2,Alpha2 为背景颜色值[混合颜色 下图层],则 ...

  3. Java JNI初探

    ---说明,之前直接百度出来的例子,照猫画虎.没想到的是这例子居然直接来自百度百科,写着写着就囧了.. ---anyway,写完了就当是给自己看吧. 同事求助,就看了一下,照猫画虎一番,略有所得. J ...

  4. JS中setInterval、setTimeout不能传递带参数的函数的解决方法

    setInterval 和 setTimeout 这两个函数比较好用,但会遇到比如说我隔个几秒后要执行的函数是带参数的,这种情况怎么办?可以用匿名函数包装处理 //不带参数的函数 function t ...

  5. 格局中@null的代码实现方式

    布局中通常会用到@null.如RadioButton常用的技巧通过RadioGroup实现Tab,需要设置android:button="@null".如果要在代码中动态创建控件, ...

  6. 如何让View一直沿z轴旋转

    #import <QuartzCore/QuartzCore.h>... CABasicAnimation *rotationAni = [CABasicAnimation animati ...

  7. 设计模式工具:UML基础

    类图 矩形框                                          -类Class 第一层                                          ...

  8. linux ,cron定时任务 备份mysql数据库

    cron 定时任务执行备份脚本文件 backup.sh #!/bin/bash USER="root" PASSWORD="xxxxx" DATABASE=&q ...

  9. javascript与 ios通讯解决办法

    阔别1年半之久,一个JavaScript和ios通讯的想法终于被实现了(我不知道别人有没有早就实现过~). 记得早期ios内嵌html做通讯时,貌似做好的办法只能是 ios通过url来截取页面发送消息 ...

  10. laravel Eloquent 模型(也就是我本时说的Model)

    laravel的 Eloquent 模型其实就是我们平时说的MVC里Model,只是换了个名字而已~ 1)Eloquent 是啥? Eloquent 本质就一个查询构建器(laravel里叫查询构建器 ...