1、redis是內存 no-sql 數據庫,相比mysql等硬盤數據庫效率高 2、在內存值配置數據庫使用,而不直接使用內存,redis存儲的數據是可以管理的 3、memcache也是內存數據庫,且django默認采用的就是memcache數據庫,用redis替換memcache的路由很簡單,后者更強大 redis支持更多的數據類型 redis自帶緩存機制,出現數據庫系統崩潰數據也是可以有找回的功能 redis可以主動完成數據持久化(自帶數據持久化功能) redis的數據過期時間機制也可以自身完成
1.安裝redis與可視化操作工具 注:在官網安裝系統版本,下載對應安裝包安裝即可(傻瓜式安裝)
2.在服務中管理redis服務器的開啟關閉 3.命令行簡單使用redis: -- redis-cli # 啟動客戶端 -- set key value # 設置值 -- get key # 取出值 4.redis支持:字符串、字典、列表、集合、有序集合 https://www.runoob.com/redis/redis-tutorial.html 5.特點:可持久化、單線程單進程并發
基礎命令
啟動服務: >: redis-server 只對當前控制面板有效 redis-server & 永久開啟 啟動客戶端連接redis >: redis-cli -h localhost -p 6379 -n 數據庫編號(0~15) 連接成功后切換數據庫 >: select 數據庫編號
用cmd起redis

redis數據類型
支持的數據類型:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合) String:存儲其他類型不能存的所有數據(包括視頻,音頻) Hash:存儲 key-value 形式的數據,類似于字典 List:存儲 一系列有序value 形式的數據,列表(數組) Set:存儲 一系列無序value 形式的數據,集合 Sorted Set:存儲 有排列標號的value 形式的數據,作排行
如果有不懂的可以查看這個::::::::https://www.runoob.com/redis/redis-strings.html
字符串類型
set:key value
get:key
mset:k1 v1 k2 v2 ... kn vn
mget:k1 k2 ... kn
setex:key exp value
1.set / get 添加 / 獲取 值

2. getrange 返回 key 中字符串值的子字符

3.mset/mget 同時 設置/取 一個或多個 key-value 對

4.incr/decr 增/減 1

哈希操作
常用方法:
單增:hset key field value
單查:hget key field
所有鍵值:hgetall key
單刪:hdel key field
所有key:hkeys key
所有值:hvals key
列表操作
右增: rpush key v1 v2 ... vn 左增: lpush key v1 v2 ... vn 修改: lset key index value 左刪: lpop key 右刪: rpop key 插入:linsert key before|after old_value new_value 區間:lrange key begin_index end_index
增:sadd key v1 v2 ... vn
差集:sdiff key1 key2
并集:sinter key1 key2
交集:sunion key1 key2
查:smembers key
隨機刪:spop key
增:zadd key score1 value1 score2 value2 ... scoren valuen
區間個數:zcount key begin_score end_score
排行低到高:zrange key begin_index end_index
排行高到低:zrevrange key begin_index end_index
>: pip3 install redis
import redis r = redis.Redis(host='127.0.0.1', port=6379)
import redis pool = redis.ConnectionPool(host='127.0.0.1', port=6379) r = redis.Redis(connection_pool=pool)
# 1.將緩存存儲位置配置到redis中:settings.py CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100} } } } # 2.操作cache模塊直接操作緩存:views.py from django.core.cache import cache # 結合配置文件實現插拔式 # 存放token,可以直接設置過期時間 cache.set('token', 'header.payload.signature', 10) # 取出token token = cache.get('token')
浙公網安備 33010602011771號