目录
一.Java连接上redis
1.导入依赖
二.Java操作redis的常见类型数据存储
1.设置值
编辑 2.哈希
1.1设置哈希值
编辑
1.2.封装工具类
1.3列表
三redis中的项目应用
一.Java连接上redis
redis与Mysql都市数据库,Java操作redis其实跟操作mysql的过程是一样的
1.导入依赖
在pom文件中导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
建立一个redis目录在目录下建立一个Demo1测试是否连接上
如果连接上了则输出PONG
二.Java操作redis的常见类型数据存储
1.设置值
2.哈希
1.1设置哈希值
输出结果
1.2.封装工具类
package com.zking.ssm.redis;
import redis.clients.jedis.Jedis;
import java.util.Map;
import java.util.Set;
/**
* @author bing人
* @site
* @company xy集团
* @create 2023-11-05 22:57
* 封装工具类
*/
public class RedisUtils {
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));
}
}
}
}
把上面的数据更换为封装后的数据 (插入/修改)
测试结果
查询
删除
删除所有
1.3列表
设置数据
查询数据
三redis中的项目应用
1. redis一般用在哪?
存储基本不会变化的数据,然后这些数据又被多个表使用
2.redis怎么用?
将存储的数据转成json串,进行存储
缓存系统:
Redis 最常见的用途之一是作为缓存系统。它可以存储热门或频繁访问的数据,从而加快读取速度,减轻后端数据库的负担。这对于网站、应用程序和服务的性能优化非常重要。
会话存储:Redis 可以用于存储会话信息,特别是在分布式系统中。通过将会话数据存储在 Redis 中,可以实现负载均衡、容错和扩展性,同时保证会话数据的快速访问。
消息队列:Redis 的列表数据结构非常适合作为消息队列的基础。发布者可以将消息推送到列表中,而订阅者可以从列表中获取消息,从而实现异步通信、任务队列等功能。
实时分析和计数:Redis 提供了各种数据结构(如 HyperLogLog、Bitmaps 等)和操作,可以用于实时分析和计数,例如统计网站的访问次数、用户在线状态等。
地理信息系统(Geospatial):Redis 支持地理信息数据结构,可以用于存储位置坐标和距离计算。这使得 Redis 在构建位置服务和地理信息系统方面非常有用。
推荐系统:Redis 可以用于构建推荐系统,通过存储用户喜好和商品信息,以及实时计算相似度等信息,从而为用户提供个性化的推荐。
实时分布式锁:Redis 提供了基于 SETNX(set if not exists)命令和 Lua 脚本等方法,可以实现分布式系统中的实时锁定机制,用于协调多个节点的操作。
实时排行榜:利用 Redis 的有序集合(Sorted Sets)结构,可以实现实时排行榜功能,例如游戏中的积分排名、热门商品排名等。
持久化和数据备份:Redis 支持数据的持久化,可以将内存中的数据定期保存到磁盘上,以保证数据的安全性。这对于关键业务数据非常重要。
分布式锁与分布式限流:Redis 提供了基于 Lua 脚本的原子操作,可以实现分布式锁和限流,保证在分布式环境下的数据一致性和流量控制。