新聞中心
Redis系列教學(xué):掌握使用全新技術(shù)

10年的通州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整通州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“通州網(wǎng)站設(shè)計(jì)”,“通州網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Redis是一個(gè)高性能的開源鍵值對(duì)數(shù)據(jù)庫。它能夠支持各種數(shù)據(jù)結(jié)構(gòu),如 字符串,哈希,列表,集合,有序集合等等。它的特點(diǎn)是速度快、內(nèi)存占用少、可擴(kuò)展性強(qiáng)、功能強(qiáng)大、數(shù)據(jù)持久化等等。
Redis入門
Redis雖說好用,但也是要學(xué)的。下面我們來學(xué)習(xí)一下Redis基本操作。
– 連接Redis
“`python
import redis
r = redis.StrictRedis(host=’localhost’, port=6379, db=0)
這里的host、port、db分別是Redis的服務(wù)器地址、端口、選擇的數(shù)據(jù)庫。默認(rèn)的話,Redis服務(wù)器地址是localhost,端口是6379,選擇第0個(gè)數(shù)據(jù)庫。
- Redis的基本數(shù)據(jù)類型
Redis支持多種數(shù)據(jù)結(jié)構(gòu),包括string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(有序集合)。
**字符串(string)**
```python
r.set('name', 'Tom')
print(r.get('name'))
# 輸出Tom
這里,我們先使用set()函數(shù)將一個(gè)鍵值對(duì)寫入Redis中。然后使用get()函數(shù)將鍵對(duì)應(yīng)的值讀出來。
**哈希(hash)**
“`python
r.hset(‘student’, ‘name’, ‘Tom’)
r.hset(‘student’, ‘a(chǎn)ge’, 20)
print(r.hgetall(‘student’))
# 輸出{b’name’: b’Tom’, b’age’: b’20’}
哈希類型的數(shù)據(jù)存放形式為dict形式。同樣,我們使用hset()函數(shù)將多個(gè)鍵值對(duì)寫入哈希中,使用hgetall()函數(shù)將哈希中的所有鍵值對(duì)讀出來。
**列表(list)**
```python
r.lpush('name_list', 'Tom')
r.lpush('name_list', 'Bob')
r.lpush('name_list', 'Alice')
print(r.lrange('name_list', 0, -1))
# 輸出[b'Alice', b'Bob', b'Tom']
列表類型的數(shù)據(jù)存放形式為一個(gè)序列。我們使用lpush()函數(shù)在列表的頭部插入元素。lrange()函數(shù)讀取列表中的元素。
**集合(set)**
“`python
r.sadd(‘name_set’, ‘Tom’)
r.sadd(‘name_set’, ‘Bob’)
r.sadd(‘name_set’, ‘Alice’)
print(r.smembers(‘name_set’))
# 輸出{b’Tom’, b’Bob’, b’Alice’}
集合類型的數(shù)據(jù)存放形式為一個(gè)沒有重復(fù)元素的無序集合。我們使用sadd()函數(shù)在集合中添加元素。smembers()函數(shù)讀取集合中的所有元素。
**有序集合(zset)**
```python
r.zadd('name_zset', {'Tom':1, 'Bob':2, 'Alice':3})
print(r.zrange('name_zset', 0, -1, withscores=True))
# 輸出[(b'Tom', 1.0), (b'Bob', 2.0), (b'Alice', 3.0)]
有序集合類型的數(shù)據(jù)存放形式為一個(gè)排序的無重復(fù)元素集。元素存放的順序是根據(jù)score(元素的屬性)來決定的。我們使用zadd()函數(shù)在有序集合中添加元素。zrange()函數(shù)讀取有序集合的排名情況。
這就是Redis的基本操作了。大概地學(xué)習(xí)一下,你就能夠進(jìn)行Redis中的基本數(shù)據(jù)操作了。
Redis的高級(jí)應(yīng)用
Redis不僅有基礎(chǔ)操作,還有些高級(jí)應(yīng)用。
1. 發(fā)布-訂閱(Pub/Sub)
Redis的發(fā)布-訂閱功能是在頻道上進(jìn)行廣播。當(dāng)一個(gè)客戶端發(fā)布消息到一個(gè)頻道上時(shí),所有訂閱在這個(gè)頻道上的客戶端都會(huì)接收到這條消息。我們可以使用publish()函數(shù)向特定的頻道上發(fā)布一條消息,使用subscribe()函數(shù)進(jìn)行特定頻道的訂閱。
2. 事務(wù)
Redis的事務(wù)起始于MULTI命令,即指示Redis開始事務(wù)的命令。隨后,可以添加任意多個(gè)命令到一個(gè)事務(wù)中。在事務(wù)中執(zhí)行的所有命令都不會(huì)被立即執(zhí)行。一旦在事務(wù)中執(zhí)行所有的命令,可以使用EXEC命令執(zhí)行事務(wù)中的所有命令。我們可以使用watch()函數(shù)監(jiān)視某個(gè)鍵值對(duì),使用multi()函數(shù)開啟事務(wù),使用exec()函數(shù)執(zhí)行事務(wù)。
3. 可持久化
在Redis中,數(shù)據(jù)對(duì)于我們來說都存在內(nèi)存中。當(dāng)Redis進(jìn)程停止時(shí),數(shù)據(jù)也會(huì)隨著Redis進(jìn)程的結(jié)束而被清除。這就是Redis的內(nèi)存數(shù)據(jù)庫的缺點(diǎn)。我們可以使用Redis的持久化功能來解決這個(gè)問題。Redis支持兩種持久的方式。一種是快照,一種是AOF(append-only file)。我們可以通過配置文件中的save選項(xiàng)調(diào)整Redis進(jìn)行定時(shí)快照,或者打開AOF功能來實(shí)現(xiàn)持久化。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊(cè)、網(wǎng)頁、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
網(wǎng)站名稱:Redis系列教學(xué)掌握使用全新技術(shù)(redis系列教學(xué))
文章路徑:http://www.dlmjj.cn/article/djieioc.html


咨詢
建站咨詢
