Redis是徹底開源免費的,遵照B SD協議,是一個高性能的key-value數據庫。其具備如下三種特色:python
1)Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。git
2)Redis不單單支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。github
3)Redis支持數據的備份,即master-slave模式的數據備份。redis
數據庫
django
數組
緩存
數據結構
# 支持的數據類型:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合)。
String:存儲其餘類型不能存的全部數據 Hash:存儲 key-value 形式數據,相似於字典 List:存儲 一系列有序value 形式數據,列表(數組) Set:存儲 一系列無序value 形式數據,集合 Sorted Set:存儲 有排列標號value 形式數據,排行
性能
命令行簡單使用redis: redis-cli # 啓動客戶端 set key value # 設置值 get key # 取出值
# 啓動服務: >: redis-server & # 啓動客戶端鏈接redis >: redis-cli -h localhost -p 6379 -n 數據庫編號(0~15) # 鏈接成功後切換數據庫 >: select 數據庫編號
""" 經常使用方法: 單增: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 """
# 在Terminal內完成安裝 >: 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')