1. 程式人生 > 實用技巧 >線性基學習小記

線性基學習小記

redis是一個單程序的服務

  • 單程序模型來處理客戶端的請求。對讀寫等事件的響應 是通過對epoll函式的包裝來做到的。Redis的實際處理速度完全依靠主程序的執行效率
  • Epoll是Linux核心為處理大批量檔案描述符而作了改進的epoll,是Linux下多路複用IO介面select/poll的增強版本, 它能顯著提高程式在大量併發連線中只有少量活躍的情況下的系統CPU利用率。

redis資料庫切換

  • 預設16個數據庫,類似陣列下表從零開始,初始預設使用零號庫,可在配置檔案配置
  • select命令切換資料庫
  • dbsize檢視當前資料庫的key的數量
  • keys *檢視當前庫中的k-v列表
  • flushdb
    :清空當前庫
  • flushall;通殺全部庫
  • 統一密碼管理,16個庫都是同樣密碼,要麼都OK要麼一個也連線不上

Redis的五大資料型別

  • String(字串)
    • string是redis最基本的型別,你可以理解成與Memcached一模一樣的型別,一個key對應一個value。
    • string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的物件 。
    • string型別是Redis最基本的資料型別,一個redis中字串value最多可以是512M
  • Hash(雜湊,類似java裡的Map)
    • Redis hash 是一個鍵值對集合。
    • Redis hash是一個string型別的field和value的對映表,hash特別適合用於儲存物件。
    • 類似Java裡面的Map<String,Object>
  • List(列表)
    • Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。
    • 它的底層實際是個連結串列
  • Set(集合)
    • Redis的Set是string型別的無序集合。它是通過HashTable實現實現的
  • Zset(sorted set:有序集合)
    • Redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
    • 不同的是每個元素都會關聯一個double型別的分數。
    • redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。