Redis快速起步及Redis常用命令大全

时间:2024-01-16 12:14:20

本系列教程内容提要

Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的相关问题,为了更方便的与大家一起探讨与学习,每个章节均提供尽可能详细的示例源码及注释,所有示例源码均可在javacourse-redis-in-action找到相关帮助!

本章目标:

  • 什么是Redis
  • Redis数据结构
  • 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中

Redis快速起步及Redis常用命令大全

LIST

基本操作 说明
PRUSH 将给定值推入到列表的右端
LPUSH 将给定值推入到列表的左端
LPOP 将列表的左端推出一个值
RPOP 将列表的右端推出一个值
LINDEX 获取列表给定位置元素
LRANGE 返回列表从start到end偏移量在内的所有元素
LTRIM 保留偏移量start到end内的元素
高级操作 说明
BLPOP 从第一个非空列表中弹出最左侧元素,或者在timeout之内阻塞等待元素出现
BRPOP 从第一个非空列表中弹出最右侧元素,或者在timeout之内阻塞等待元素出现
RPOPLPUSH 从第一个列表中弹出右端元素,推入第二列表的左端,返回此元素
BRPOPLPUSH 从第一个列表中弹出右端元素,推入第二列表的左端,返回此元素,如果没有值,阻塞等待出现

Redis快速起步及Redis常用命令大全

SET

命令 说明
SADD 将给定元素添加到集合
SREM 如果给定元素存在集合,则删除
SISMEMBER 检查元素是否存在集合中
SCARD 返回集合包含的元素的数量
SMEMBERS 返回集合包含的所有元素
SRANDMEMBER 从集合中随机返回一个或者多个元素
SPOP 随机从集合中移除一个元素,并返回这个元素
SMOVE 如果这个集合包含key,那么移除,将移除元素添加到dest-key中
按位运算符命令 说明
SDIF 计算差集
SDIFFSTORE 计算差集,并存储到dest-key
SINTER 计算交集
SINTERSTORE 计算交集,并存储到dest-key
SUNION 计算交集
SUNIONSTORE 计算交集,并存储到dest

Redis快速起步及Redis常用命令大全

ZSET

命令 说明
ZADD 将一个带有给定分值的成员添加到有序集合中
ZREM 如果给定成员存在有序集合中,则移除
ZCARD 返回有序集合的数量
ZINCRBY 将member成员的分值加上count
ZRANK 返回成员member的在有序集合的排名
ZCOUNT 返回分值在min和max之间的成员数量
ZRANGEBYSCORE 获取有序集合在给定分值范围内的所有元素
ZRANGE 根据元素在有序集合中的位置,从有序集合中取出多个元素,如果给定[WITHSCORES]则返回分值
高级命令 说明
ZINTERSTORE 对给定的有序集合执行类似集合的交集运算
ZUNIONSTORE 对给定的有序集合执行类似集合的并集运算

Redis快速起步及Redis常用命令大全

HASH

命令 说明
HSET 在散列中关联给定的键值对
HGET 获取指定散列键的值
HDEL 如果给定键在散列里面,移除
HGETALL 获取散列包含的所有键值对
高级命令 说明
HEXISTS 检查给定键是否存在散列中
HKEYS 获取散列包含的键
HVALS 获取散列包含的值
HINCRBY 将键Key存储的值加上count
HINCRBYFLOAT 将键Key存储的值加上浮点数count
HGETALL 获取散列包含的所有键值对

Redis快速起步及Redis常用命令大全

其他命令

事务命令 说明
MULTI 开启事务
EXEC 提交事务
排序命令 说明
SORT 根据给定的选项,对输入的列表,集合或者有序集合进行排序,然后返回或则存储排序结果
键的过期 说明
EXEPIRE 给定键指定多少秒后过期
TTL 查看键还有多少秒过期
PERSIST 移除键的过期时间
EXPIREAT 将过期时间设置为给定的UNIX时间戳
PTTL 查看键还有多少毫秒过期
PEXPIRE 让给定键指定多少毫秒后过期
PEXPIREAT 将过期时间(毫秒精度)设置为给定的UNIX时间戳