Redis
Redis简介
Redis是完全开源免费的,遵守B SD协议,是一个高性能的key-value数据库。其具有以下三种特点:
1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3)Redis支持数据的备份,即master-slave模式的数据备份。
# 支持的数据类型: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基础命令
# 启动服务: >: 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')