Jfinal项目整合Redis

发布于:2024-12-18 ⋅ 阅读:(89) ⋅ 点赞:(0)

1、引入相关依赖

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

<dependency>
    <groupId>de.ruedigermoeller</groupId>
    <artifactId>fst</artifactId>
    <version>2.50</version>
 </dependency>

 <dependency>
     <groupId>org.objenesis</groupId>
     <artifactId>objenesis</artifactId>
     <version>2.3</version>
     <scope>test</scope>
  </dependency>

2、配置redis 

创建redis.properties文件如下:

#============================================================================
# 配置Redis
#============================================================================
# 地址
host=10.10.3.133
# 端口
port=6379
# 过期时间/秒
timeout=30
# 密码
password=123456
# 数据库
db=1

3、配置文件 JFinalConfig

    @Override
    public void configPlugin(Plugins me) {
        /** ————————————————redis————————————————— **/

        RedisPlugin userRedis=new RedisPlugin("redisCache",
                PropKit.use("redis.properties").get("host"),
                PropKit.use("redis.properties").getInt("port"),
                PropKit.use("redis.properties").getInt("timeout"),
                PropKit.use("redis.properties").get("password"),
                PropKit.use("redis.properties").getInt("db"));

        me.add(userRedis);
    }

4、使用 

项目中就可以通过Redis.use("redisCache").get("key")来获取redis中数据。

注:

在获取redis值时,可能会遇到获取到位null的问题,这是因为在低版本Jfinal中,使用 jfinal redis plugin 时存在一个问题:存入数据与读取数据都要使用 jfinal redis plugin,而不能是写入数据用控制台或者另外的客户端,而读的时候用 jfinal redis plugin

因为 jfinal 默认用的 FST 做的数据序列化与反向序列化,这两个操作需要互相可逆。

所以可以使用以下方法获取:

Redis.use().getJedis().get("key")


网站公告

今日签到

点亮在社区的每一天
去签到