千萬級資料並行如何處理?進入學習
推薦學習:
redis是一個主要由開發者 Salvatore Sanfilippo(Antirez)開發的開源記憶體資料結構記憶體,用於改進其網站的可伸縮性,可以用作資料庫、快取和訊息代理等,可以在專案中結合著使用 Redis。
Redis 有著豐富的資料結構、優秀的速度、齊全的功能,眾多公司都在使用 Redis,它有著如下的特點:
Redis 是一個記憶體資料庫,這意味著所有的資料都儲存在記憶體中,而不是硬碟上(當然也支援硬碟的全量備份和增量備份)。記憶體的特點就是能夠支援快速存取和快速搜尋,但也受空間限制。
在資料庫架構中,Redis 通常位於使用者端和資料庫之間,以減輕 NoSQL 資料庫或應用程式的負載,減少快取時的資料存取延遲。
使用 Redis 的公司
網上有很多安裝的教學,這裡以 Mac 端為例,在安裝完 Redis 伺服器之後,就可以通過以下命令啟動 Redis 伺服器:
redis-server
登入後複製
並通過以下命令啟動 redis-cli 使用者端:
redis-cli -h 127.0.0.1 -p 6379
登入後複製
如圖所示:
現在我們可以通過 Redis 的 PING 命令接受一條可選的訊息作為引數,這個命令通常用於測試使用者端和伺服器之間的連線是否正常,如果使用者以無引數形式執行這個命令,那麼伺服器在連線正常的情況下,將向用戶端返回 PONG 作為回覆:
127.0.0.1:6379> PINGPONG
登入後複製
實際測試如下:
Redis 初步介紹工作完成,我們來看一下 Redis 都有哪些基本的資料結構機器常見操作。
本文將介紹前五種常見的資料結構,後續更多的型別在其他文章單獨進行介紹和說明,常見的五種基本資料型別如下。
字串(string)是 Redis 最基本的鍵值對型別,這種型別既可以保持普通文字,也可以儲存序列化的二進位制資料。
字串型別會在資料庫中把單獨的一個鍵和單獨的一個值關聯起來,被關聯的鍵和值既可以是普通的文字資料,也可以是圖片、視訊、音訊、壓縮檔案等更為複雜的二進位制資料。字串型別最大可以儲存 512M 資料。
字串一些常見操作
SET number "10086"
127.0.0.1:6379> SET number "10086"OK127.0.0.1:6379> GET number"10086"127.0.0.1:6379>
登入後複製
STRLEN email
SETEX city 5 Beijing
秒殺活動 PSETEX 設定毫秒
MSET username jack sex male age 24
MGET username sex age
INCR number
127.0.0.1:6379> INCR number(integer) 10087127.0.0.1:6379>
登入後複製
這些命令,大家都可以自己在。 Redis 使用者端進行測試。
用來儲存更復雜的結構化資料
HGET 8000 ename
HMGET 80000 ename job deptno
HINCRBY 8000 deptono 10
當我們需要向 VALUE 儲存序列化的資料,可以使用列表型別
RPUSH dname 技術部 後勤部 售後部
LPUSH dname 祕書處
LSET dname 2 銷售部
LRANGE dname 0 -1
登入後複製
lindex dname 0
linsert dname before 祕書處 董事會
LPOP dname
RPOP dname
RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott
LREM employee 1 Scott # 刪除第一個Scott,不是指索引為一
登入後複製
假如要求資料不允許重複,則可以使用集合型別。
集合操作
SADD empno 8000SADD empno 8001SADD empno 8002SADD empno 8003 8004 8005SMEMBERS empno
登入後複製
SCARD empno
SISMENBER empno 8000
SPOP empno
SRANDMEMBER empno 5
帶有排序功能的集合,Redis 按照元素分數值排序
ZADD keyword 0 "han" 0 "jack ma" 0 "Andrew wu"ZINCRBY keyword 1 "han"ZINCRBY keyword 5 "jack ma"ZINCRBY keyword 2 "Andrew wu"ZREVRANGE key 0 -1
登入後複製
ZCOUNT keyword 5 10
ZRANGE keyword 0 -1
ZREVRANGE keyword 0 -1
zrangebyscore keyword 5 10 # 5-10
zrangebyscore keyword 5 (10 # 大於等於5, 小於 10
zrangebyscore keyword 100000 +inf
登入後複製
zrevrangebyscore keyword 10 5
zrank keyword "xx"
ZREM keyword "x" "y"
zremrangebyrank keyword 0 2
zremrangebyscore keyword 0 -3
如 zremrangebyscore keyword inf (5000)
推薦學習:
以上就是Redis基本資料型別和操作(總結分享)的詳細內容,更多請關注TW511.COM其它相關文章!