摘要:使用可以极度方便的使用,该插件不仅提供了丰富的,而且还同时支持多服务端。拥有超高的性能,丰富的数据结构,天然支持数据持久化,是目前应用非常广泛的数据库。
预设
Ubuntu 上 安装 redis
参见
http://segmentfault.com/a/1190000004109484
RedisPluginjfinal 2.0 中已集成RedisPlugin插件。
RedisPlugin 是支持 Redis 的极速化插件。使用 RedisPlugin 可以极度方便的使用 redis,该插件不仅提供了丰富的 API,而且还同时支持多 redis 服务端。Redis 拥有超高的性能,丰富的数据结构,天然支持数据持久化,是目前应用非常广泛的 nosql 数据库。对于 redis 的有效应用可极大提升系统性能,节省硬件成本。
RedisPlugin 是作为 JFinal 的 Plugin 而存在的,所以使用时需要在 JFinalConfig 中配置
RedisPlugin,以下是 RedisPlugin 配置示例代码:
@Override public void configPlugin(Plugins plugins){ //缓存user模块 到 redis RedisPlugin userRedis=new RedisPlugin("userCache","172.16.0.102","test123"); plugins.add(userRedis); }
Redis 与 Cache以上代码创建了一个 RedisPlugin 对象userRedis。最先创建的RedisPlugin 对象所持有的 Cache 对象将成为主缓存对象,主缓存对象可通过 Redis.use()直接获取,否则需要提供 cacheName 参数才能获取,例如:Redis.use(“other”)
Redis 与 Cache 联合起来可以非常方便地使用 Redis 服务,Redis 对象通过 use()方法来获取到 Cache 对象,Cache 对象提供了丰富的 API 用于使用 Redis 服务,下面是具体使用示例:
cache赋值
package controller; import com.jfinal.core.Controller; import com.jfinal.plugin.redis.Cache; import com.jfinal.plugin.redis.Redis; /** * Created by renpeng on 2015/12/1. */ public class IndexController extends Controller { public void index(){ //获取redis 缓存对象user Cache userCache= Redis.use("userCache"); //在config中最先创建的cache 可以使用Redis.use() 直接来获取。示例: //Cache userCache= Redis.use(); userCache.set("userid_1","admin"); System.out.print("index.jsp: cache set 完成#############################"); renderJsp("index.jsp"); } }
运行效果:
JFinal action report -------- 2015-12-08 10:37:23 ------------------------------ Controller : controller.IndexController.(IndexController.java:1) Method : index Interceptor : interceptor.ExceptionIntoLogInterceptor.(ExceptionIntoLogInterceptor.java:1) -------------------------------------------------------------------------------- index.jsp: cache set 完成#############################
cache取值
@Before(AuthInterceptor.class) public void index(){ //System.out.print(getParaToInt()+"====================="); //setAttr("user", User.me.findById(4)); Cache userCache= Redis.use("userCache"); System.out.print("# user/index: cache get 内容:"+userCache.get("userid_1")); setAttr("userPage", User.me.paginate(getParaToInt(0, 1), 10)); render("index.html"); }
运行结果:
JFinal action report -------- 2015-12-08 10:38:20 ------------------------------ Controller : controller.UserController.(UserController.java:1) Method : index Interceptor : interceptor.ExceptionIntoLogInterceptor.(ExceptionIntoLogInterceptor.java:1) interceptor.AuthInterceptor.(AuthInterceptor.java:1) -------------------------------------------------------------------------------- # user/index: cache get 内容:admin
注:通常情况下只会创建一个 RedisPlugin 连接一个 redis 服务端,使用 Redis.use().set(key,value)即可。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65324.html
摘要:是国产的框架,由五大部分组成。本文通过一个例子上手,旨在熟悉中各组件的用法。指的是表名,指的是主键数据库连接池使用的是,还支持。默认访问方法,这点类似于如果之前有基础,上手会非常快。映射在上使用了校验拦截器,使用了权限拦截器。 JFinal是国产的MVC框架,由 Handler、Interceptor、Controller、Render、Plugin 五大部分组成。本文通过一个例子上手...
摘要:本文使用环境如何使用导入包将官网提供的包导入项目配置文件在项目配置文件中配置如下内容即可生效生成日志文件运行项目后将在根目录下生成的文件。 本文使用环境 win7 Idea 14.1.4 jfinal 2.0 1.jfinal如何使用log4j a.导入jar包 将官网提供的log4j.jar包导入项目 b.配置文件 在项目配置文件(project/src/log4j.prope...
摘要:只是暴露接口,配置信息最终保存在的静态类中。整个项目只有一个,作为静态类可以保证它是唯一的,而它的静态成员也是整个项目中唯一的。至此的路由解析模块就分析完了。 jFinal的路由解析是在JFinalFilter中做的,这个Filter也需要在web.xml中配置。JFinalFilter实现了javax.servlet.Filter接口,从这里也可以看出jFinal是基于Servlet...
摘要:和冲突,去掉对支持,标记为弃用。初始化插件初始化插件设置为异步,默认同步,或者使用自定义线程池。为子类排序,数值越小越先执行,默认为异步执行,需要插件开启或者自定义线程池。 说明 JFinal-event 2.x 参考 Spring 4.2.x 中 Event 的使用方式而生,为 JFinal 用户带来更多方便。其核心目标是深层次解耦,为您节约更多时间,去陪恋人、家人和朋友 :) 年初...
阅读 1738·2023-04-26 00:20
阅读 1751·2021-11-08 13:21
阅读 1888·2021-09-10 10:51
阅读 1511·2021-09-10 10:50
阅读 3221·2019-08-30 15:54
阅读 2096·2019-08-30 14:22
阅读 1401·2019-08-29 16:10
阅读 3061·2019-08-26 11:50