Redis之Java操作Redis的使用

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,经济版 1GB 1个月
简介: Redis之Java操作Redis的使用



前言

        在上一期的博客中我们初步的去了解了一下Redis的知识简介,并且分享了关于Redis的一些基础操作。今天的这期博客继续带老铁们进一步探讨有关Redis的使用及操作,认真观看,仔细阅读。

一、Java连接Redis

1. 启动Redis服务及客户端连接

       我们这次的Redis在我们Windows系统也就会主机电脑上启动服务,点击到我们解压的文件夹中,双击redis.bat文件运行即可,然后在主机连接,显示数据表代表成功。

2. 在开发工具中导入pom依赖

       我这里是以IDEA作为操作演示,在pom.xml文件中添加以下代码。

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

3. 新建一个类连接Redis数据库

       如下图,我新建一个文件夹Redis用于存放测试连接Redis数据库以及对数据库进行操作的类。

//连接
Jedis jedis = new Jedis("IP", 端口号);
//设置密码
jedis.auth("密码");
//测试连接代码   输出结果为pong则说明连接成功
System.out.println(jedis.ping());
//选择操作的数据库   i---->数据库编号
jedis.select(i);

二、Java操作redis数据库

1. Redis字符串(String)

1.1 设置值

语法: jedis.set("变量名","值")

       运行代码后我们在Redis客户端在指定的数据库刷新查看,验证数据是否设置添加成功

1.2 修改值

语法: jedis.set("变量名","值")

与设置值一样。

        数据库也对应的发生了改变

1.3 设置有时间显示的值及查看剩余时间

语法:

jedis.setex("变量名",时间,"值");      ----->      给键值对设置过期时间

ttl 变量名    ----->     获取键值对剩余的存活时间

1.4 其他语法

type key    -----> 查看类型

keys * 或keys key  ------->查看所有或者指定的key

2. Redis哈希(Hash)

2.1 设置值

语法:

jedis.hset("key","变量名","值");     --->同时将多个field-value设置到哈希表key中

       该方式属于没插入一条数据都要编写一行代码,如果要实现在Linux系统中实现批量插入则需要借助编写工具类实现。

       所以我们新建一个类所谓工具类,在其中编写方法来实现Hash的批量插入。

RedisUtil

package Redis;
import redis.clients.jedis.Jedis;
import java.util.Map;
import java.util.Set;
/**
 * @author 君易--鑨
 * @site www.yangxin.com
 * @company 木易
 * @create  2023-11-03 19:58
 */
public class RedisUtil {
//     hash批量添加
      public static void setHashMap(Jedis jedis, String key, Map<String,String> map){
          if (map != null && map.size()>0){
              Set<String> keys =map.keySet();
              for (String k :keys){
                  jedis.hset(key,k,map.get(k));
              }
          }
      }
}

测试

结果

2.2 删除

语法:

hdel key field    ------>删除指定的字段值

2.3  获取值

语法:

hget key field  -------->获取指定的字段值

3.  Redis列表(List)

       语法如下,效果则就不演示了,和Linux有类似的用法。

List语法

语法 作用
lpush key value1 value2 value3  将一个或多个值插入到列表头部
llen key  获取列表的长度
lindex key index       根据索引获取列表中的元素
lrange key start sop 查看指定范围内的元素

4. Redis集合(Set)

语法 作用
sadd key value1 [value2]      向集合添加一个或多个元素
 scard key 获取集合中的元素数量
 exists key         是否存在

三、 Redis在会议OA中的运用

  1. 会话复制:在分布式环境下,用户的会话信息可能需要进行复制。Redis提供了会话复制功能,可以将用户的会话信息复制到多个Redis节点上,确保数据的可用性和可扩展性。
  2. 缓存策略:在会议OA系统中,可以根据不同的场景和需求,采用不同的缓存策略,如缓存最近访问的数据、缓存热门数据、缓存查询结果等。Redis提供了灵活的缓存策略,可以根据实际需求进行定制和优化。
  3. 事务处理:Redis支持事务处理,可以在多个操作之间执行原子性的更新和删除操作。在会议OA系统中,可以使用Redis的事务处理功能来实现一些复杂的业务逻辑,如会议申请、资源分配等。
  4. 分布式锁的优化:在使用分布式锁时,需要考虑锁的粒度和锁的持有时间。过细的锁粒度会增加系统的开销和复杂性,而过长的锁持有时间则可能导致系统的性能瓶颈。Redis提供了灵活的锁机制,可以根据实际需求进行优化。
  5. 数据持久化:Redis提供了数据持久化功能,可以将数据保存到磁盘中,避免数据丢失和意外重启的问题。在会议OA系统中,可以使用Redis的数据持久化功能来保证数据的可靠性和稳定性。
  6. 性能监控和调试:Redis提供了丰富的性能监控和调试工具,可以帮助开发人员及时发现和解决系统性能问题。在会议OA系统中,可以使用Redis的性能监控和调试工具来评估系统的性能表现和瓶颈所在。

本期分享到此结束,感谢观看

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5天前
|
负载均衡 NoSQL 算法
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
这篇文章是关于Java面试中Redis相关问题的笔记,包括Redis事务实现、集群方案、主从复制原理、CAP和BASE理论以及负载均衡算法和类型。
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
|
16天前
|
NoSQL Java Redis
Spring Boot集成Redis全攻略:高效数据存取,打造性能飞跃的Java微服务应用!
【8月更文挑战第3天】Spring Boot是备受欢迎的微服务框架,以其快速开发与轻量特性著称。结合高性能键值数据库Redis,可显著增强应用性能。集成步骤包括:添加`spring-boot-starter-data-redis`依赖,配置Redis服务器参数,注入`RedisTemplate`或`StringRedisTemplate`进行数据操作。这种集成方案适用于缓存、高并发等场景,有效提升数据处理效率。
70 2
|
20天前
|
存储 Java 索引
Java ArrayList操作指南:如何移除并返回第一个元素
通过上述方法,你可以方便地从Java的 `ArrayList` 中移除并返回第一个元素。这种操作在日常编程中非常常见,是处理列表时的基本技能之一。希望这篇指南能帮助你更好地理解和运用Java的 `ArrayList`。
24 4
|
25天前
|
NoSQL Linux Redis
Redis性能优化问题之想确认Redis延迟变大是否因为fork耗时导致的,如何解决
Redis性能优化问题之想确认Redis延迟变大是否因为fork耗时导致的,如何解决
|
25天前
|
存储 NoSQL Java
Java中使用redis的bitMap实现签到功能
这个实现示例提供了一种灵活、高效的方式,展示了如何使用Redis来解决现实中的问题。
26 2
|
30天前
|
负载均衡 NoSQL Java
|
6天前
|
NoSQL 安全 Java
Java Spring Boot中使用Shiro、JWT和Redis实现用户登录鉴权
Java Spring Boot中使用Shiro、JWT和Redis实现用户登录鉴权
|
1月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3天前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
13 3