搜尋
首頁後端開發php教程PHP操作Redis實例講解
PHP操作Redis實例講解Mar 06, 2018 pm 01:04 PM
phpredis講解

一、概念

redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鍊錶)、set(集合)、zset(有序集合)和hash(哈希類型)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

redis支援各種不同方式的排序。與memcached一樣,為了確保效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。

二、Reids的安裝與使用

1、安裝:Linux系統可以透過官網位址:http://redis.io/download下載原始碼包進行編譯安裝
2、啟動Redis服務指令:
(1)redis-server
(2)service redisd start
3、Redis的常用指令使用:
(1)連線:redis- cli -h -p -a
(2)測試是否可用:輸入PING,回傳PONG回應
(3)可透過「SET key value」來設定key和value值;
(4)透過「GET KEY」取得Key對應的Value值。

三、PHP常用的操作Redis的方法

1、PHP自帶了Redis類,用於作為操作Redis的擴展,因此可以透過該類別進行連線:
 $redis = new Redis();
 $redis->connect('',);
 $redis->auth('');

 2、通常情況下,由於Redis支援string,hash,list,set及zset五種資料類型,Redis在開發中時常被用作快取和佇列兩種服務:
 (1)Redis用作快取的PHP範例:

 $redis->set(<key>,<value>); //设置key和value的键值对
 $redis->get(<key>);//获取Key对应的Value值
 (2)Redis用作锁的操作:
 $redis->setnx(<key>,<value>); //设置key和value的键值对,如果key的value已经存在则不操作
 $redis->get(<key>);//获取Key对应的Value值
 (3)Redis用作队列的PHP示例:
 $redis->lpush(<key>,<value>);//从列表头部插入数据,列表名为key
 $redis->lpop(<key>);//从列表尾部去除并移除数据,列表名为key

四、PHP操作Redis方法總和

除了上述的常用操作之外,PHP還支援Redis使用的各種資料類型操作,如mset、hset等。

五、Reids的特性與效能

1、Redis是一個速度非常快的非關聯式資料庫,它可以儲存鍵(key)與5種不同類型的值(value)之間的映射(mapping),可以將儲存在記憶體的鍵值對資料持久化到硬碟,可以使用複製特性來擴展讀取性能,還可以使用客戶端分片來擴展寫入性能;
2、當數據依賴不再需要,Redis這種基於記憶體的性質,與在執行一個事務時將每個變化都寫入硬碟的資料庫系統相比就顯得執行效率非常高,寫與讀取操作速度沒有明顯差別;

3、與其他資料儲存方式的比較:


#4、使用Redis的優點:
(1)有memcached使用經驗的讀者可能知道,使用者只能用APPEND指令將資料加入到已有字串的結尾。 memcached的文檔中聲明,可以用APPEND指令來管理元素列表。這很好!使用者可以將元素追加到字串的結尾,並將那個字串當作列表來使用。但隨後如何刪除這些元素呢? memcached採用的辦法是採用黑名單(blacklist)來隱藏清單裡面的元素,從而避免對元素執行讀取、更新、寫入(或資料庫請求和memcached寫入)等操作。相反地​​,Redis的LIST和SET允許使用者直接添加或刪除元素。

(2)使用Redis代替memcached可以解決這個問題以及其他問題,不僅可以讓程式碼變得更簡短、更易懂、更易維護,而且還可以使程式碼的運行速度更快(因為使用者不需要透過讀取資料庫來更新資料)。除此之外,在其他許多情況下,Redis的效率和易用性也比關聯式資料庫好得多。

相關推薦:

PHP如何操作Redis實例分享

#php操作redis的常用方法總結

PHP操作Redis詳解案例

以上是PHP操作Redis實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
es和redis区别es和redis区别Jul 06, 2019 pm 01:45 PM

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

一起来聊聊Redis有什么优势和特点一起来聊聊Redis有什么优势和特点May 16, 2022 pm 06:04 PM

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

实例详解Redis Cluster集群收缩主从节点实例详解Redis Cluster集群收缩主从节点Apr 21, 2022 pm 06:23 PM

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

Redis实现排行榜及相同积分按时间排序功能的实现Redis实现排行榜及相同积分按时间排序功能的实现Aug 22, 2022 pm 05:51 PM

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

详细解析Redis中命令的原子性详细解析Redis中命令的原子性Jun 01, 2022 am 11:58 AM

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

一文搞懂redis的bitmap一文搞懂redis的bitmapApr 27, 2022 pm 07:48 PM

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

实例详解Redis实现排行榜及相同积分按时间排序功能的实现实例详解Redis实现排行榜及相同积分按时间排序功能的实现Aug 26, 2022 pm 02:09 PM

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

redis error什么意思redis error什么意思Jun 17, 2019 am 11:07 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。