Ubuntu 上 安裝 redis
參見
http://segmentfault.com/a/1190000004109484html
jfinal 2.0 中已集成RedisPlugin插件。java
RedisPlugin 是支持 Redis 的極速化插件。使用 RedisPlugin 能夠極度方便的使用 redis,該插件不只提供了豐富的 API,並且還同時支持多 redis 服務端。Redis 擁有超高的性能,豐富的數據結構,自然支持數據持久化,是目前應用很是普遍的 nosql 數據庫。對於 redis 的有效應用可極大提高系統性能,節省硬件成本。redis
RedisPlugin 是做爲 JFinal 的 Plugin 而存在的,因此使用時須要在 JFinalConfig 中配置
RedisPlugin,如下是 RedisPlugin 配置示例代碼:sql
@Override public void configPlugin(Plugins plugins){ //緩存user模塊 到 redis RedisPlugin userRedis=new RedisPlugin("userCache","172.16.0.102","test123"); plugins.add(userRedis); }
以上代碼建立了一個 RedisPlugin 對象userRedis。最早建立的RedisPlugin 對象所持有的 Cache 對象將成爲主緩存對象,主緩存對象可經過 Redis.use()直接獲取,不然須要提供 cacheName 參數才能獲取,例如:Redis.use(「other」)數據庫
Redis 與 Cache 聯合起來能夠很是方便地使用 Redis 服務,Redis 對象經過 use()方法來獲取到 Cache 對象,Cache 對象提供了豐富的 API 用於使用 Redis 服務,下面是具體使用示例:segmentfault
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取值nosql
@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"); }
運行結果:jsp
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)便可。