以下由Redis教學欄位介紹給大家Redis快取原理,希望對需要的朋友有幫助!
#1. 是什麼嗎
#Redis 是一個高效能的開源的、C語言寫的Nosql(非關係型資料庫),資料保存在記憶體中。 Redis 是以key-value形式存儲,和傳統的關係型資料庫不一樣。不一定遵循傳統資料庫的些基本要求,比如說,不遵循sql標準,事務,表結構等等,非關係型資料庫嚴格上不是一種資料庫,應該是一種資料結構化儲存方法的集合。 Java中資料結構:String,數組,list,set map… Redis提供了很多的方法,可以用來存取各種資料結構的資料。
2.特點(優勢)
1.資料保存在內存,訪問速度快,並發能力強 2.它支援儲存的value類型相對更多,包括string(字串)、list(鍊錶)、set(集合)、 zset(sorted set --有序集合)和hash(哈希類型)。
3.redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關聯式資料庫(如MySQL)起到很好的補充作用。
4.它提供了Java,C/C ,C#,PHP,JavaScript等客戶端,使用很方便。
5.Redis支援叢集(主從同步、負載平衡)。資料可以主伺服器向任意數量從的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。
6.支援持久化,可以將資料保存在硬碟的檔案中
7.支援訂閱/發布(subscribe/publish)功能QQ群 1、資料存放:存放到記憶體中,還能不定期持久化到磁碟。存取速度快,並發能力強,斷電後資料不遺失。
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 連接埠號碼
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 持久化記錄伺服器執行的所有寫入操作命令,並在伺服器啟動時,透過重新執行這些命令來還原資料集,預設為關閉該模式。
如何開啟aof模式:
appendonly yes //yes 開啟,no 關閉
#appendfsync always //每次有新指令時執行一次fsync,就將緩衝區的資料放入aof檔案
#這裡我們啟用everysec
appendfsync everysec //每秒fsync 一次
#appendfsync no //從不fsync(交給作業系統來處理,可能很久才執行一次fsync)
其它的參數請大家看redis.conf設定檔詳解
6.Redis經典實用場景-快取
-
6.1為什麼要使用快取
把經常查詢的數據,很少修改的數據存放到緩存中,減少訪問數據庫,降低數據庫壓力並且緩存一般都是內存,訪問速度比較快。
-
6.2哪些資料適合放到快取中
經常查詢:快取就是提供資料查詢高效存取。
很少修改:修改時要同步修改快取和資料庫
例如:地區資料、商品分類、資料字典選單(不考慮權限) -
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 fastjson2)二進位存放:將要存放的資料序列化為二進位序列化框架實作
#7.實作選單快取
以上是簡單易懂地介紹Redis快取原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具