当前位置: 代码网 > it编程>编程语言>Java > SpringBootWeb 篇-深入了解 Redis 五种类型命令与如何在 Java 中操作 Redis

SpringBootWeb 篇-深入了解 Redis 五种类型命令与如何在 Java 中操作 Redis

2024年07月28日 Java 我要评论
redis.windows.conf:配置文件,用来配置 Redis 服务器的各种参数和选项。redis-server.exe:Redis 服务端可执行文件,用来启动 Redis 服务端。redis-cli.exe:Redis 客户端可执行文件,用来启动 Redis 客户端。

文章目录

        1.0 redis 概述

        1.1 redis 下载与安装

        2.0 redis 数据类型

        3.0 redis 常见五种类型的命令

        3.1 字符串操作命令

        3.2 哈希操作命令

        3.3 列表操作命令

        3.4 集合操作命令

        3.5 有序集合操作命名

        3.6 通用命令

        4.0 在 java 中操作 redis

        4.1 spring data redis 环境搭建

        4.2 操作字符串类型的数据

        4.3 操作哈希类型的数据

        4.4 操作列表类型的数据

        4.5 操作集合类型的数据

        4.6 操作有序集合类型的数据


        1.0 redis 概述

        redis 是一个基于内存的 key-value 结构数据库。基于内存存储,读写性能高。适合存储热点数据,以便大量用户访问时可以快速得到响应。

        1.1 redis 下载与安装

        redis 官网:redis - the real-time data platform

        redis 的 windows 版属于绿色软件。直接解压即可使用,解压目录结构如下:

        1)redis.windows.conf:配置文件,用来配置 redis 服务器的各种参数和选项。

比如:

        port:指定 redis 服务器监听的端口号,默认为 6379。

        bind:指定redis服务器监听的ip地址。

        requirepass:设置访问redis数据库需要的认证密码。

        maxmemory:设置redis数据库使用的最大内存限制。

        maxclients:设置redis允许的最大客户端连接数。

        logfile:指定redis日志文件的位置。

        dir:指定redis持久化数据文件的存储目录。

        pidfile:指定redis服务器进程的pid文件位置。

        2)redis-server.exe:redis 服务端可执行文件,用来启动 redis 服务端。

        3)redis-cli.exe:redis 客户端可执行文件,用来启动 redis 客户端。

        2.0 redis 数据类型

        redis 存储的是 key-value 结构的数据,其中 key 是字符串类型,value 有5 种常用的数据类型:字符串 string、哈希 hash、列表 list、集合 set、有序集合 sorted set/zset 。

各种数据类型的特点:

        1)字符串 string:普通字符串,redis 中最简单的数据类型。

        2)哈希 hash:也叫散列,类似于 java 中的 hashmap 结构。

        3)列表 list:按照插入顺序,可以有重复元素,类似于 java 中的 linkedlist 。

        4)集合 set:无序集合,没有重复元素,类似于 java 中的 hashset 。

        5)有序集合 zset:集合中每一个元素关联一个分数 score,根据分数升序排序,没有重复元素。

        3.0 redis 常见五种类型的命令

        字符串操作命令、哈希操作命令、列表操作命令、集合操作命令、有序集合操作命令。

        3.1 字符串操作命令

redis 字符串类型的常用命令:

        1)set key value:设置指定 key 的值。

        2)get key:获取指定 key 的值。

        3)setex key seconds value:设置指定 key 的值,并将 key 的过期时间设为 seconds 秒。

        4)setnx key value:只有在 key 不存在时设置 key 的值。

代码演示:

        3.2 哈希操作命令

        redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

redis 哈希类型的常用命令:

        1)hset key field value:将哈希表 key 中的字段 field 的值设为 value 。

        2)hget key field:获取存储在哈希表中指定字段的值。

        3)hdel key field:删除存储在哈希表中的指定字段。

        4)hkeys key:获取哈希表中所有字段。

        5)hvals key:获取哈希表中所有值。

代码演示:

        存储一个 student 对象信息。

设置字段值:

获取相应字段的值: 

获取 student 所有的 field 与 所有的 value:

删除指定的字段:

        3.3 列表操作命令

        redis 列表是简单的字符串列表,按照插入顺序排序。

redis 列表类型的常用命令:

        1)lpush key value1 [value2]:将一个或多个值插入到列表头部。

        2)lrange key start stop:获取列表指定范围内的元素。

        3)rpop key:移除并获取列表最后一个元素。

        4)llen key:获取列表长度。

代码演示:

在列表中插入多个值:

        该插入的方式为:头插数据。

获取指定全部数据:

删除最后一个元素:

获取列表中的个数:

        3.4 集合操作命令

        redis set 是 string 类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据。

redis 集合类型的常用命令:

        1)sadd key member1 [member2]:向集合添加一个或多个成员。

        2)smembers key:返回集合中的所有成员。

        3)scard key:获取集合的成员数。

        4)sinter key1 [key2]:返回给定所有集合的交集。

        5)sunion key1 [key2]:返回所有给定所有集合的并集。

        6)srem key member1 [member2]:删除集合中一个或多个成员。

代码演示:

向集合中添加元素:

获取所有的成员:

获取集合中成员的个数:

获取两个集合的交集:

获取两个集合的并集:

        3.5 有序集合操作命名

        redis 有序集合是 string 类型元素的集合,且不允许有重复成员。每一个元素都会关联一个 double 类型的分数。

redis 有序集合类型的常用命令:

        1)zadd key score1 member1 [score2 member2]:向有序集合添加一个或多个成员。

        2)zrange key start stop[withscore]:通过索引区间返回有序集合中指定区间的成员。

        3)zincrby key increment member:有序集合中对指定成员的分数加上增量 increment 。

        4)zrem key member1 [member2]:移除有序集合中的一个或多个成员。

代码演示:

向有序集合中添加成员:

获取全部成员:

对 zet 集合中的指定成员的 score 增加:

移除集合中指定的成员:

        3.6 通用命令

        redis 的通用命令是不分数据类型的,都可以使用命令。

redis 通用的常用命令:

        1)keys pattern:查找所有符合给定模式(pattern)的 key 。

        2)exists key:检查给定 key 是否存在。

        3)type key:返回 key 所存储的值的类型。

        4)del key:该命令用于在 key 存在则删除 key 。

代码演示:

keys *,匹配所有的 key:

检查是否存在 set1:

判断类型:

删除 list:

        4.0 在 java 中操作 redis

        redis 的 java 客户端很多,常用的几种:jedis、lettuce、spring data redis 。在 spring data redis 是 spring 的一部分,对 redis 底层开发进行了高度封装,在 spring 项目中,可以使用 spring data redis 来简化操作。

        4.1 spring data redis 环境搭建

        1)导入 spring data redis 的 maven 坐标。

        2)配置 redis 数据源。

        3)编写配置类,创建 redistemplate 对象。

        4)通过 redistemplate 对象操作 redis 。

        完成以上的步骤,就可以通过 redistemplate 对象来获取五种类型的操作对象了。

代码演示:

        4.2 操作字符串类型的数据

常见的方法:

        1)set(key,value):设置键值对 k v 。

        2)set(key,value,timeout,unit):设置有效时间的键值对。

        3)get(key):根据键来获取值。

        4)setifabsent(key,value):设置一个键值对,只有在 key 不存在时设置 key 的值。

代码演示:

        4.3 操作哈希类型的数据

常见的方法:

        1)put(key,field,value):新增数据。

        2)get(key,field):获取数据。

        3)keys(key):获取 key 中的全部字段。

        4)values(key):获取 key 中的全部值。

        5)delete(key,field):删除 key 中 field 的字段。

代码演示:

        4.4 操作列表类型的数据

常见的方法:

        1)leftpushall(key,values):批量增加数据。

        2)leftpush(key,value):新增数据。

        3)range(key,start,end):获取指定范围的数据。

        4)rightpop(key):删除最后一个数据。

        5)size(key):获取列表中的数据个数。

代码演示:

        4.5 操作集合类型的数据

常见的方法:

        1)add(key,values):新增单个数据或者批量新增数据。

        2)members(key):获取 key 中的全部成员。

        3)size(key):获取 key 中的成员个数。

        4)intersect(key1,key2):获取两个集合中的交集。

        5)union(key1,key2):获取两个集合中的并集。

        6)remove(key,values):删除 key 中指定的 value ,可以是一个 value 也可以是多个 value 。

代码如下:

        4.6 操作有序集合类型的数据

常见的方法:

        1)add(key,value,score):新增数据。

        2)range(key,start,end):获取指定范围的数据。

        3)incrementscore(key,value,delta):给指定的数据的分数增加 dalta 。

        4)remove(key,values):删除数据。可以删除单个数据,也可以批量删除数据。

代码演示:

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com