在linux安裝redis
阿新 • • 發佈:2020-12-17
Redis簡介
資料庫分兩類
- 關係型資料庫: 資料以虛擬表格的形式儲存! mysql,sqlite,oracle,sqlserver,postgresql等...
- 非關係型/面向物件資料庫/快取資料庫: 儲存的key:value字串! redis,mongdb,memcache
- 使用最多: redis
- 資料儲存在記憶體中!
特點
- 以字典結構儲存資料
- 允許通過TCP協議讀取字典的內容
- 強大的快取系統, 可以為每個鍵設定TTL, 以及按照一定規則自動淘汰不需要的鍵
- 支援使用列表的形式構造任務佇列
- 資料儲存在記憶體中也可以持久化到硬碟
重點: 儲存字串型別, 是鍵值對!
安裝
- window
- 啟動服務端 redis-server.exe 2. 啟動內建客戶端 redis-cli.exe 3. 簡單指令
- 圖形客戶端
pang # 設定值 set key value set name zhangsn set age lisi # 獲取值 get key get name get age # 查詢所有key keys * # 設定有效期 setex key senconds value setex yanzhengma 60 123456 # 表示驗證碼1分鐘之內有效!``` 檔案說明 ![](https://www.icode9.com/img/l/?n=20&i=blog/1832677/202012/1832677-20201217184745589-354012447.png) * redis-benchmark.exe 測redis效能的程式,可以同時模擬N多客戶端查詢和賦值 * redis-check-aof.exe 更新日誌檢查–修復日誌 * redis-check-dump.exe 本地資料庫檢查 * redis.conf redis配置檔案 * redis-cli.exe 客戶端連線 redis伺服器工具 * redis-server.exe redis伺服器啟動程式 配置說明 配置檔案: redis.conf/redis.windows.conf ```python #埠 port 6379 # 允許遠端訪問 bind:繫結IP地址,只允許來自指定網絡卡的Redis請求,如果想允許任意地址訪問將 bind 註釋掉就行。 protected-mode: Redis 安全訪護層,預設開啟: 關閉protected-mode模式,此時外部網路可以直接訪問 開啟protected-mode保護模式,需配置bind ip或者設定訪問密碼# (1) 註釋 bind 127.0.0.1 # (2) 如果允許匿名訪問,關閉保護模式 protected-mode no # (3) 如果開啟保護模式,必須設定請求密碼客戶端在連線Redis時需要通過【AUTH 密碼】命令提供密碼 requirepass 123456 #密碼任意 # 設定 Redis 是否以守護程序模式執行。 (允許後臺啟動) daemonize yes``` 啟動時指定配置檔案 ```python cd /usr/local/bin ./redis-server /user/local/etc/redis.conf #指定配置檔案啟動 (覆蓋redis的預設配置)``` Reids資料庫型別 常用的5種資料型別 * 字串 * Hash(雜湊值/物件) * 集合(Set) * 有序集合(zset) * 列表(list) 字串 ```python # 設定 set name lisi # 獲取 get name # 刪除 del name # 查詢多個 mget name age # 自增 incr num #每次num加1! 變數不存在預設就是1 # 自減 decr num # 長度 strlen name # 是否存在 exists name``` Hash Hashhash儲存物件 工作中使用: 儲存各種列表:商品列表.新聞列表,購物車列表..... ![](https://www.icode9.com/img/l/?n=20&i=blog/1832677/202012/1832677-20201217185312218-171240766.png) ```python # 設定 # HSET key field valueHGET key field # HMSET key field value [field value …] 多個屬性 # HMGET key field [field …]HGETALL key hset car price 500 hmset car price 500 name baoma # 獲取 hget 物件名 欄位 hget car price hmget car name price```