Redis 使用


1 redis緩存數據庫

Redis命令參考

1.介紹

redis 默認 端口 6379

redis: 讀寫快, 非關系型(操作數據方便), 並發高,單線程
mysql: 數據持久化, 關系型(操作數據間關系)
redis緩存數據庫,數據存到內存,讀取速度快,但有內存限制
應用場景:頁面緩存,好處如下
    1、減少數據庫壓力,提升訪問速度
    2、在數據掛掉的情況下,仍能保證業務正常運行一段時間,提升安全性

2.redis 數據類型

redis:支持五大類型

String:(字符串)存儲其他類型不能存的所有數據
Hash:(哈希類型) 存儲 key-value 形式數據,類似於字典
List:(列表)存儲 一系列有序value 形式數據,列表(數組)
Set:( 集合 )存儲 一系列無序value 形式數據,集合
Sorted Set:(有序集合 (zset))存儲 有排列標號value 形式數據,排行

3.相關資源

Redis 官網:https://redis.io/

下載地址:https://github.com/MSOpenTech/redis/releases。

可視化安裝包 地址 https://gitee.com/lddragon/redis_win_installation_package

2.使用

1.啟動客戶端

# 啟動客戶端
redis-cli  
# 完整啟動客戶端
redis-cli -h 127.0.0.1 -p 6379 -n '數據庫序號' -a '密碼'
# 關閉客戶端
reids-cli shutdown 

2.啟動服務端

  1. 打開一個 cmd 窗口 使用 cd 命令切換目錄到 C:\redis 運行:
redis-server redis.windows.conf # 配置文件中可直接修改配置 自定義配置(復制一份自己的修改)
  1. 直接啟動
redis-server

3. 操作

切換數據庫:

127.0.0.1:6379> select 1  # 切換數據庫 默認有 0-15 個 庫 連接時可使用 -n 指定 第幾個

設置鍵值對:

127.0.0.1:6379[1]> set key vaule
OK

取出鍵值對:

127.0.0.1:6379[1]> get key
'vaule'
# 讀取不到 返回(ni1)

主動持久化:

127.0.0.1:6379[1]> save
OK
# 當你的服務器死了以后他會將所有的數據保存到硬盤中 目錄在當前啟動文件目錄下的 dump.rdb 文件 (配置文件可以修改文件名)
# 配置文件配置 save <seconds> <changes>
save 900 1 # 超過900秒有1個鍵值對操作, 會自動調用save完成數據持久化
save 300 10 # 超過300秒有10個鍵值對操作, 會自動調用save完成數據持久化
save 60 10000 # 超過60秒有10000個鍵值對操作, 會自動調用save完成數據持久化

配置文件:

Redis 的配置文件位於 Redis 安裝目錄下,文件名為 redis.conf(Windows 名為 redis.windows.conf)

你可以通過 CONFIG 命令查看或設置配置項

127.0.0.1:6379> CONFIG GET dbfilename
1) "dbfilename"
2) "dump.rdb"

使用 ***** 號獲取所有配置項:

127.0.0.1:6379> CONFIG GET *

你可以通過修改 redis.conf 文件或使用 CONFIG set 命令來修改配置。

127.0.0.1:6379> CONFIG SET config_name new_config_value
127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"

想學深可以看看:菜鳥教程的 redis 配置文件參數

3.python使用redis

依賴

>: pip install redis

直接使用

import redis
r = redis.Redis(host='127.0.0.1', port=6379, db=1, password=None, decode_responses=True)

連接池的使用

import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=1, max_connections=100, password=None, decode_responses=True)
r = redis.Redis(connection_pool=pool)

4 .緩存使用:要額外安裝 django-redis

安裝

pip install django-redis

配置

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

url格式舉例

redis://[:password]@localhost:6379/0
rediss://[:password]@localhost:6379/0
unix://[:password]@/path/to/socket.sock?db=0
# 1.將緩存存儲位置配置到redis中:settings.py
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100},
            "DECODE_RESPONSES": True,
            "PSAAWORD": "",
        }
    }
}
# 2.操作cache模塊直接操作緩存:views.py
from django.core.cache import cache  # 結合配置文件實現插拔式
# 存放token,可以直接設置過期時間
cache.set('token', 'header.payload.signature', 300)
# 取出token
token = cache.get('token')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM