多次查詢讓你懷疑人生
冗餘欄位過多會讓你看起來很傻
為啥不試試redis
大大減少了查詢數量,提高了效率redis的api更加人性化,再也不需要構建sql語句,節省了sql的解析時間
redis 是完全開源免費的,遵守bsd協議,是乙個高效能的key-value資料庫。
redis 與其他 key - value 快取產品有以下三個特點:
mongodb
couchdb
memcached
redis
nosql:nosql = not only sql 非關係型資料庫
nosql,泛指非關係型的資料庫。隨著網際網路web2.0**的興起,傳統的關聯式資料庫在應付web2.0**,特別是超大規模和高併發的sns型別的web2.0純動態**已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。nosql資料庫的產生就是為了解決大規模資料集合多重資料種類帶來的挑戰,尤其是大資料應用難題。
因為 rdb 和 aof
sudo apt-get install redis-server檔名稱安裝完成後,redis伺服器會自動啟動,我們檢查redis伺服器程式
ps -aux|grep redis
或者netstat -nlt | grep 6379
#看見 port 6379 就成功啟動了redis服務
作用redis-server
redis 服務端
redis-cli
redis 客戶端
redis-benchmark
redis效能測試工具
redis-check-aof
aof修復工具
redis-check-rdb
rdbredis-sentinel
哨兵伺服器 2.8版本之後才有
【redis-sentinel】監控你管理的作用來提高集群的高可用性
redis-cli客戶端使用方式:redis-cli
-p#埠
-h#主機
鏈結上
redis-cli -p
6379
127.0.0.1:6379> ping
pong
127.0.0.1:6379> #ping之後 pong來了就是成功了
離開客戶端請輸入quit
服務管理
systemctl start/stop/restart redis-server.service
cd /etc/init.d
./redis-server start/stop/restart
redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。
是最簡單的型別,你可以理解為乙個key 對應乙個value。string 型別是二進位制安全的。意思是redis 的string 可以包含任何資料,比如jpg 或者序列化的物件。string型別是redis最基本的資料型別,乙個鍵最大能儲存512mb。
redis hash 是乙個鍵值(key=>value)對集合。redis hash是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。每個 hash 可以儲存 2的32次方 -1 鍵值對(40多億)。儲存形式:
key =
redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。列表最多可儲存 2的32次方 - 1 元素 (4294967295, 每個列表可儲存40多億)。
常應用於:1、對資料量大的集合資料刪減 2、任務佇列
redis的set是string型別的無序集合,元素具有唯一性 不重複。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。
常應用於:對兩個集合間的資料進行交集、並集、差集運算
smembers key #獲取集合中所有的元素集合操作scard key #返回集合元素的個數
srandmember key [count] #返回集合中隨機元素的值,可以返回count個
求多個集合的交集: sinter key [key...]求多個集合的差集 (注意比較順序):sdiff key [key...]
求 多個集合的並集: sunion key [key....]
redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。
常應用於:排行榜
redis預設帶有16個資料庫,編號從0-15。進入redis後預設資料庫是0,可以使用select num進行切換
客戶端不顯示中文的處理:開啟客戶端的時候新增引數:--raw
redis-cli --raw
keys * #檢視所有的keykeys u* #查以u開始的key
keys n??? 查詢以n為開頭長度為4個的key
keys n 查詢 包含 n 的所有的key
支援的正規表示式:
- h?llo 匹配第二位為任意的字元
- h*llo 匹配第二位為任意字元 0個 或多個
- h[ab]llo 匹配第二位為 a或者b的字元的key
- hello 匹配第二位除了e字元以外的任意的key
- h[a-z]llo 匹配第二位為a-z的小寫字母的key
exists key #判斷鍵是否存在
type key #檢視key對應的value的型別
del key #刪除指定key
expire key 10 #設定過期時間,秒
persist key #移除key的過期時間
rename key newkey #修改key的名稱(如果新的key的名字存在 則會把存在的key的值 覆蓋掉)
randomkey #隨機返回乙個 key
move key db 將鍵移動到指定庫
flushdb #清空當前庫所有key
flushall #清空所有庫里的key
exit #退出redis客戶端
quit 退出客戶端
檢視伺服器資訊
info
dbsize 當前庫中有多少key
pip install redis
redis簡單介紹
特點 速度快,多種資料結構,簡單穩定,客戶端支援語言多,持久化,主從,高可用和分布式 速度快 基於鍵值對的nosql資料庫,將資料都放入記憶體中,使用c語言,單執行緒架構 資料結構 字串,雜湊,列表,集合,有序集合 鍵過期功能,實現快取,簡單穩定不依賴作業系統中的類庫,使用單執行緒 持久化 rdb和...
redis 簡單介紹
了解redis的資料結構有助於了解每種資料結構的優劣勢,方便設計合理的cache結構。1.string 可以儲存字串 浮點型 整型,如果是字串可以執行字串操作,如果是浮點型 整型也可以執行加減操作。redis會識別出它的具體型別。2.list 鍊錶,鍊錶中的每個node包含乙個字串。可以對鍊錶進行兩...
Redis簡單實用介紹
1.redis的安裝與運用 準備好gcc環境 yum install gcc c wget tar zxvf redis 5.0.8.tar.gz cd redis 5.0.8 make make install啟動redis redis server redis config修改redis密碼 v...