1. 程式人生 > 其它 >Redis基本知識

Redis基本知識

技術標籤:Redis

Redis基本知識

概述

Redis 是什麼?

Redis(Remote Dictionary Server ),即遠端字典服務

使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。

在這裡插入圖片描述
免費,開源,是當下最熱門的 NoSQL 技術之一。

Redis 可以做什麼?

  1. Redis 具有可持久化的特點,可以做記憶體資料庫。
  2. Redis 存取效率很高,可以用來做快取記憶體。
  3. 用於釋出訂閱系統
  4. 地圖資訊分析
  5. 計時器,計數器(瀏覽量)
  6. 分散式鎖

Redis 的特性

  1. 資料型別多樣
  2. 讀寫速度極快
  3. 可持久化
  4. 支援叢集
  5. 支援事務

基礎指令

  1. get & set 就不多說了,Redis 預設有 16 個數據庫,同時預設使用的是第一個(下標為 0 )資料庫,可以使用 select 進行資料庫的切換。

    127.0.0.1:6379> select 1 		# 選用第 2 個數據庫
    OK
    127.0.0.1:6379[1]> dbsize		# 檢視當前資料庫的大小
    (integer) 0
    127.0.0.1:6379[1]> set name iron
    OK
    127.0.0.1:6379[1]> dbsize
    (integer) 1
    127.0.0.1:6379[2]> select 2
    OK
    127.0.0.1:6379[
    2]> dbsize (integer) 0 127.0.0.1:6379[2]> get name (nil) 127.0.0.1:6379[2]> select 1 OK 127.0.0.1:6379[1]> get name "iron"
  2. 檢視資料庫所有的 key

    127.0.0.1:6379[1]> keys *
    1) "name"
    
  3. 清除當前資料庫 flushdb

    127.0.0.1:6379[1]> set name egg
    OK
    127.0.0.1:6379[1]> keys *
    1) "name"
    127.0.0.1:6379[1]> flushdb # 清除當前資料庫 OK 127.0.0.1:6379[1]> keys * (empty array)
  4. 清除全部資料庫 flushall

    127.0.0.1:6379> select 0
    OK
    127.0.0.1:6379> set name iron
    OK
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> flushall # 清除全部資料庫,執行完命令後, 0 號資料庫資料為空
    OK
    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> keys *
    (empty array)
    
  5. 設定過期時間以及檢視過期時間

    127.0.0.1:6379> set name iron
    OK
    127.0.0.1:6379> expire name 12 # 設定過期時間,單位 秒
    (integer) 1
    127.0.0.1:6379> ttl name # 檢視 name 的剩餘有效時間
    (integer) 9
    127.0.0.1:6379> ttl name
    (integer) 7
    127.0.0.1:6379> ttl name
    (integer) 5
    127.0.0.1:6379> ttl name # 當返回 -2 時,表示 key 已失效
    (integer) -2
    127.0.0.1:6379> ttl age # 對於沒有建立的 key , ttl 返回也是 -2
    (integer) -2
    
  6. 檢視當前 key 的型別

    127.0.0.1:6379> set name iron
    OK
    127.0.0.1:6379> type name
    string