您好,登錄后才能下訂單哦!
大概在2010年的時候,有一次和一個同事聊天,那個時候知道了Redis,對于技術的追隨至今,還沒有下載一個Redis版本玩玩,
只有1萬多行代碼,以性能驚人著稱。新浪微博架構師楊衛華(我一翻微信,原來就是Tim Yang)曾說過:“國內前十大網站的子產品估計用1臺Redis就可以滿足存儲及Cache的需求”
從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。Redis之父到哪里,哪里就有了新的標簽。
下面就是Redis之父,意大利程序員Salvatore Sanfilippo
我所在的DBAplus社群也策劃了周期性的技術發展newsletter,里面有一些信息是我負責收集的,我也和行業里的各路大拿有過簡單的溝通,在Redis方面也能夠得到第一手的信息。
Redis的官方是https://redis.io/,國內也有Redis用戶組和相關的中文站點,也要感謝這些為社區貢默默貢獻的一些人,有了這個圈子,技術人才不會更加孤單。
Reids目前的最新版本是4.0.1,我從官方下載了之后,發現壓縮包竟然只有1.6M,解壓后大概就是8.4M左右,這個量級就是很多關系型數據庫補丁的大小吧。所以勾起了我的興趣。深入的談不上,我局從下載安裝部署開始吧。
從README文檔可以看到,官方提供了以下幾個很實用的鏈接。
Redis數據類型介紹:
http://redis.io/topics/data-types-intro
Redis命令行:
http://redis.io/commands
Redis官方文檔:
http://redis.io/documentation
# rpm -qa|grep gcc
libgcc-4.4.7-4.el6.x86_64
gcc-4.4.7-4.el6.x86_64
安裝部署非常簡單,就是一個make命令,當然如果要企業級定制還是有一些需要注意的參數。
編譯之后得到的Redis目錄大概是73M
[root@oel1 redis-4.0.1]# du -sh .
73M
這個目錄下有個文件很重要,那就是redis的配置文件redis.conf
啟動的時候,如果不聲明,默認就是在這個路徑下使用這個默認的redis.conf文件。
啟動Redis
./redis-server &
默認端口是6379
關閉Redis
# ./src/redis-cli shutdown
進入命令行模式:
[root@oel1 src]# ./redis-cli
127.0.0.1:6379> help
redis-cli 4.0.1
...
因為Reids是存儲鍵值,我們簡單測試一下,讓我有些驚喜的是,竟然還有命令提示功能,會自動提示你命令的情況。
127.0.0.1:6379> set name jeanron
OK
得到剛初始化后的name
127.0.0.1:6379> get name
"jeanron"
Redis支持的數據類型比較豐富,支持多種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),HyperLogLogs(一種基于概率的數據結構,用于統計集合中不同元素的個數)
比如List,使用rpush,rrange,lrange,lpush來操作
可以單個推入元素
127.0.0.1:6379> rpush mylist a
(integer) 1
127.0.0.1:6379> rpush mylist b
(integer) 2
列舉list里的元素
127.0.0.1:6379> lrange mylist 0 -1
1) "a"
2) "b"
再補充一部分元素到list里面
127.0.0.1:6379> rpush mylist 1 2 3
(integer) 5
127.0.0.1:6379> lrange mylist 0 -1
1) "a"
2) "b"
3) "1"
4) "2"
5) "3"
還可以有隊列數據結構的pop操作,比如pop末尾的元素
127.0.0.1:6379> rpop mylist
"3"
127.0.0.1:6379> lrange mylist 0 -1
1) "a"
2) "b"
3) "1"
4) "2"
查看list的長度。
127.0.0.1:6379> llen mylist
(integer) 4
如果對應的是一些基本的數據類型,還有一些補充的操作可用,比如像序列一樣自增。
127.0.0.1:6379> set counter 100
OK
127.0.0.1:6379> incr counter
(integer) 101
127.0.0.1:6379> incr counter
(integer) 102
127.0.0.1:6379> incrby counter 100
(integer) 202
我們也可以管理這些鍵值對,比如判斷是否存在,如果存在留刪除。
127.0.0.1:6379> exists counter
(integer) 1
127.0.0.1:6379> del counter
(integer) 1
127.0.0.1:6379> exists counter
(integer) 0
如果想查看整個Redis的狀態信息,可以使用命令info,輸出會分為幾個維度來展現這些信息。
127.0.0.1:6379> info
# Server
redis_version:4.0.1
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:f9229e185138419b
redis_mode:standalone
os:Linux 3.8.13-16.2.1.el6uek.x86_64 x86_64
當然上面的操作只是Redis中九牛一毛的操作,還是很多的內容自己要細化學習。
最后需要說明的是,今天是抗日戰爭勝利紀念日,為先烈和英雄致敬。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。