jfinal框架连接redis

216 阅读1分钟

1、配置文件

redis_cacheName=*****              //缓存名称(随便设置)
redis_host=*****                   //ip地址
redis_port=*****                   //端口
redis_password=******              //密码
redis_database=0                   //数据库(0-15

2、配置类

public class MonitorConfig extends JFinalConfig {
    private static final Logger LOG = LoggerFactory.getLogger(JFinalConfig.class);
    private static Prop p = PropKit.use("join_config.properties"); //读取配置文件
   
    @Override
    public void configConstant(Constants me) {}
​
    @Override
    public void configRoute(Routes me) {}
​
    @Override
    public void configEngine(Engine me) {}
​
    @Override
    public void configInterceptor(Interceptors me) {}
​
    @Override
    public void configHandler(Handlers me) {}
​
    @Override
    public void configPlugin(Plugins me) {
        //配置redis
        RedisPlugin redisPlugin = new RedisPlugin(p.get("redis_cacheName"), p.get("redis_host"), Integer.valueOf(p.get("redis_port")), Integer.MAX_VALUE, p.get("redis_password"), Integer.valueOf(p.get("redis_database")));
        
        //更改redis的序列化方式(使用可视化工具能直观的看到存入的数据)
        redisPlugin.setSerializer(new ISerializer() {
            @Override
            public byte[] keyToBytes(String key) {
                return SafeEncoder.encode(key);
            }
​
            @Override
            public String keyFromBytes(byte[] bytes) {
                return SafeEncoder.encode(bytes);
            }
​
            @Override
            public byte[] fieldToBytes(Object field) {
                return valueToBytes(field);
            }
​
            @Override
            public Object fieldFromBytes(byte[] bytes) {
                return valueFromBytes(bytes);
            }
​
            @Override
            public byte[] valueToBytes(Object value) {
                return SafeEncoder.encode(value.toString());
            }
​
            @Override
            public Object valueFromBytes(byte[] bytes) {
                if (bytes == null || bytes.length == 0)
                    return null;
                return SafeEncoder.encode(bytes);
            }
        });
        me.add(redisPlugin);
    }
​
    @Override
    public void onStart() {}
}

3、代码中连接使用

private static Prop p = PropKit.use("join_config.properties");
Cache weather = Redis.use(p.get("redis_cacheName"));
weather.set(---------)