我這裡將**中某些會被使用者經常檢視的商品的詳細資訊儲存到redis中示例
1.首先我們需要在linux中安裝redis服務。
2.啟動redis服務
./redis-server
3.在專案中配置spring整合redis的配置檔案
spring-redis.xml:
<?xml version="1.0" encoding="utf-8"?>
4.在後台查詢商品詳細資訊的時候,我們做乙個處理
查詢redis快取,如果快取中有該商品的資訊,那麼直接返回redis中的資料,不繼續進行查詢,如果redis快取中沒有該商品詳細資訊,則查詢資料庫中該商品資訊,並將該資訊新增至快取中,以便下一次該商品被訪問時可以直接在快取中載入出該商品的資訊。設定乙個時限,讓快取每隔一段時間自己清理,提高快取的效率。
後台**:
//jedis
@autowired
private jedispool jedispool;
@value("$")
private string good_info;
@value("$")
private string time_expire;
/** * 根據id查詢到商品詳細資訊
*/@override
public good getgoodbyid(integer id)
} catch (exception e) finally
//快取中沒有儲存,需要查詢資料庫
goodexample example = new goodexample();
goodexample.criteria criteria = example.createcriteria();
criteria.andidequalto(id);
if(glist != null && glist.size() > 0) catch (exception e) finally
return glist.get(0);
}return null;
}
注意:我這裡,good_info是我自己命名的key,time_expire是快取的最大有效時間,當超過該時間後該快取自動清理,提高快取效率
3.這裡,我們可以通過redisdesktopmanager工具連線我們的快取伺服器,查詢快取中有沒有儲存該商品資訊
例如我這裡的快取中已經檢視過的商品新增進去的資料
(我們這裡查詢乙個沒有的商品做乙個測試)
檢視後再次檢視快取,快取中新增成功
Redis鎖的簡單應用
蝸牛redis系列文章目錄 redis cluster 其實說多執行緒修改資料也不合適,畢竟redis服務端是單執行緒的,所有命令序列執行,只是在客戶端併發傳送命令的時候,導致序列的命令一些排列問題和網路時間差等造成資料不一致。本文雖然是數字的加減,但是為了說明鎖的情況,故意不是用原子命令incr。...
redis簡單應用一
redis是乙個開放源 bsd許可證 在記憶體資料結構儲存中,用作資料庫 快取和訊息 它支援資料結構,如字串 雜湊 列表 集合 帶有範圍查詢的排序集 位圖 超對數和地理空間索引以及radius查詢。redis具有內建複製 lua指令碼 lru驅逐 事務和不同級別的磁碟永續性,並通過ridis前哨和r...
Redis與Memcached應用的簡單比較
這兩年redis火得可以,redis也常常被當作memcached 的挑戰者被提到桌面上來。關於redis與memcached的比較更是比比皆是。然而,redis真的在功能 效能以及記憶體使用效率上都超越了memcached嗎?下面內容來自redis作者在stackoverflow上的乙個回答,對應...