這篇文章將為大家詳細講解有關Redis緩存原理是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)服務項目包括龍州網站建設、龍州網站制作、龍州網頁制作以及龍州網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,龍州網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到龍州省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!1. Redis是什么
Redis 是一個高性能的開源的、C語言寫的Nosql(非關系型數據庫),數據保存在內存中。 Redis 是以key-value形式存儲,和傳統(tǒng)的關系型數據庫不一樣。不一定遵循傳統(tǒng)數據庫的些基本要求,比如說,不遵循sql標準,事務,表結構等等,非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合。 Java中數據結構:String,數組,list,set map… Redis提供了很多的方法,可以用來存取各種數據結構的數據。
2.特點(優(yōu)勢)
1.數據保存在內存,存取速度快,并發(fā)能力強
2.它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希類型)。
3.redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫(如MySQL)起到很好的補充作用。
4.它提供了Java,C/C++,C#,PHP,JavaScript等客戶端,使用很方便。
5.Redis支持集群(主從同步、負載均衡)。數據可以主服務器向任意數量從的從服務器上同步,從服務器可以是關聯(lián)其他從服務器的主服務器。
6.支持持久化,可以將數據保存在硬盤的文件中
7.支持訂閱/發(fā)布(subscribe/publish)功能 QQ群
1、數據存放:存放到內存中,還能不定期持久化到磁盤。存取速度快,并發(fā)能力強,斷電后數據不丟失。
2、支持Value類型更多。
3、多種客戶端(語言 java php c# js)
4、支持集群來擴展空間 8G+8G+16G
5、開源(免費還有很多人維護)
3. 安裝Redis服務端
Redis 的官方下載站是 http://redis.io/download,可以去上面下載最新的安裝程序下來
3.1. windows下的安裝和使用
1.下載redis程序軟件
使用redisbin32 或redisbin64
2.綠色軟件,不需要安裝,直接使用
3.啟動redis服務(帶配置文件啟動,和不帶配置文件啟動)
4.連接到redis進行操作
cmd>{%redis%}/redis-cli -h ip地址 -p 端口號
ip 默認為本地 -p 默認6379
redis-cli -h 172.16.6.248 -p 6379
cmd>{%redis%}/redis-cli
2. Redis持久化配置
Redis 提供了兩種不同級別的持久化方式:RDB和AOF,可以通過修改redis.conf來進行配置.
當滿足持久化條件時,會進行持久化保存,還來不及保存的數據,會以aof日志的方式保存下來。
Redis啟動時,先解析日志文件(一堆命令),恢復數據。然后還要加載rdb文件(取并集)。
4.RDB模式
RDB 持久化可以在指定的時間間隔內生成數據集的時間點快照,默認開啟該模式.
如何關閉 rdb 模式:
save “”
save 900 1 //至少在900秒的時間段內至少有一次改變存儲同步一次
save xxx save 60 10000
5.AOF日志追加模式
AOF 持久化記錄服務器執(zhí)行的所有寫操作命令,并在服務器啟動時,通過重新執(zhí)行這些命令來還原數據集,默認關閉該模式。
如何開啟aof模式:
appendonly yes //yes 開啟,no 關閉
#appendfsync always //每次有新命令時執(zhí)行一次fsync,就將緩沖區(qū)的數據放入aof文件
#這里我們啟用 everysec
appendfsync everysec //每秒 fsync 一次
#appendfsync no //從不fsync(交給操作系統(tǒng)來處理,可能很久才執(zhí)行一次fsync)
其它的參數請大家看redis.conf配置文件詳解
6.Redis經典實用場景-緩存
6.1為什么要使用緩存
把經常查詢的數據,很少修改的數據存放到緩存中,減少訪問數據庫,降低數據庫壓力并且緩存一般都是內存,訪問速度比較快。
6.2哪些數據適合放到緩存中
經常查詢:緩存就是提供數據查詢高效訪問。
很少修改:修改時要同步修改緩存和數據庫
例如:地區(qū)數據、商品分類、數據字典 菜單(不考慮權限)
6.3選擇合適的緩存
Hibernate二級緩存,mybatis二級緩存,redis中央緩存
Hibernate二級緩存,mybatis二級緩存默認不支持集群緩存,要使用redis
6.4怎么存儲數據
1) json:把要存放的數據轉換為json類型的字符串
保存緩存時:
Java Object----------->json字符串
獲取緩存:
json字符串-------->Java Object-
Json框架:jdk-json-lib jackson gson fastjson
2)二進制存放:把要存放的數據序列化為二進制序列化框架實現(xiàn)
7. 實現(xiàn)菜單緩存
關于Redis緩存原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網頁名稱:Redis緩存原理是什么-創(chuàng)新互聯(lián)
標題來源:http://jinyejixie.com/article46/cesjhg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網站導航、網站排名、App開發(fā)、網站建設、虛擬主機
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)