Redis入門

Redis介紹

什麼是redis

redis 英語全稱:( REmote DIctionary Server )遠程字典服務器
是一個開源的、使用C語言編寫的、支持網絡交互的、可基於內存也可持久化的Key-Value數據庫。redis的官網地址,很是好記,是redis.io。(特地查了一下,域名後綴io屬於國家域名,是british Indian Ocean territory,即英屬印度洋領地)
目前,Vmware在資助着redis項目的開發和維護。html


redis的做者


redis的做者叫Salvatore Sanfilippo,來自意大利的西西里島,如今居住在卡塔尼亞。目前供職於Pivotal公司。
他使用的網名是antirez,若是你有興趣,能夠去他的博客逛逛,地址是antirez.com,固然也能夠去follow他的github,地址是http://github.com/antirez。linux


redis的安裝


redis支持多種平臺,多數狀況下會在Linux下搭建Redis服務器,爲了方便教學,咱們採用windows平臺,不過只有64位的版本。
下載地址:
Linux版本:http://www.redis.cn/download.html
windowns版本(微軟基於linux系統下的redis寫的windowns版本):https://github.com/MicrosoftArchive/redis/releasesgit


redis的安裝及啓動

這裏咱們下載 Redis-x64-xxx.zip壓縮包到 C 盤,解壓後,將文件夾從新命名爲 redis。
Redis分爲服務器和客戶端兩種,必須啓動服務器才能使用Redis。
啓動完成,出現後面的效果github

注意:在使用redis服務器啓動後不要關閉cmd窗口redis

 

服務器指令

啓動服務器:
--語法:redis-server
注意:啓動時加載的是默認配置文件,若是要加載其餘文件用如下指令
--Redis-server 配置文件路徑數據庫


客戶端指令-鏈接服務器

使用DOS窗口啓動客戶端(本機)
--redis-cli
啓動客戶端(遠程)
--Redis-cli –h host –p port –a password
--例如:redis-cli -h 127.0.0.1 -p 6379
驗證
--Ping
--響應:pong
windows

Redis啓動後的配置

進程相關:
--單進程模型來處理客戶端的請求。對讀寫等事件的響應是經過對epoll函數的包裝來作到的。Redis的實際處理速度徹底依靠主進程的執行效率。
密碼相關:
--統一密碼管理,16個庫都是一樣密碼,要麼所有連上,要麼一個也鏈接不上。
Redis索引
--數據庫索引從0開始安全

數據庫相關

  1. 默認16個數據庫,下標從0開始,初始默認使用0號庫,能夠經過配置文件修改數據庫默認值。
  2. select:切換數據庫 如:select 1,則切換到1的數據庫
  3. dbsize:可查看當前數據庫key的數據
  4. flushdb:清空當前數據庫
  5. flushall:清空全部數據庫
  6. keys:獲取當前數據庫的key,如:keys *獲取全部,key k? 獲取字母以k開始且兩字符的,key k* 以k開始的

 

Redis的鍵(key命令)

Key鍵:Redis 鍵命令用於管理 redis 的鍵
基本語法:
redis 127.0.0.1:6379> COMMAND KEY_NAME服務器

 

Redis支持五種數據類型:

  1.  String(字符串)
  2. Hash(哈希)
  3. List(列表)
  4. Set(集合)
  5. Zset(sorted set:有序集合)

Redis string類型網絡


string是redis最基本的類型,一個key對應一個value。
String類型是二進制安全的。意思是redis的string能夠包含任何數據。好比jpg圖片或者序列化的對象。
string類型是Redis最基本的數據類型,一個redis中字符串value最多能夠是512M。
String相關的指令:

 


Redis 哈希(Hash)


Redis Hash:
是一個string類型的field和value(以鍵值)的映射表,hash特別適合用於存儲對象。
存儲大小:
每一個 hash 能夠存儲 232 - 1 鍵值對(40多億)。

 

Redis 列表(List)


Redis列表list:
--Redis列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)
存儲數據量:
-- 一個列表最多能夠包含 232 - 1 個元素 (4294967295, 每一個列表超過40億個元素)

 


Redis 集合(Set)


Redis 集合-set
--Redis的Set是string類型的無序集合。集合成員是惟一的,這就意味着集合中不能出現重複的數據。
--Redis 中 集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。
存儲數據量:
--集合中最大的成員數爲 232 - 1 (4294967295, 每一個集合可存儲40多億個成員)。

 


Redis 有序集合(sorted set)

Redis 有序集合(sorted set):
--Redis 有序集合和集合同樣也是string類型元素的集合,且不容許重複的成員。
--不一樣的是每一個元素都會關聯一個double類型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。
--有序集合的成員是惟一的,但分數(score)卻能夠重複。
存儲數量:
--集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。 集合中最大的成員數爲 232 - 1 (4294967295, 每一個集合可存儲40多億個成員)。

 

各個數據類型的應用場景

 

相關文章
相關標籤/搜索