redis介绍
redis安装
""" 1、官网下载:安装包或是绿色面安装 2、安装并配置环境变量 """
redis VS mysql
""" redis: 内存数据库(读写快)、非关系型(操作数据方便、数据固定) mysql: 硬盘数据库(数据持久化)、关系型(操作数据间关系、可以不同组合) 大量访问的临时数据,才有redis数据库更优 """
redis VS memcache
""" redis: 操作字符串、列表、字典、无序集合、有序集合 | 支持数据持久化(数据丢失可以找回(默认持久化,主动持久化save)、可以将数据同步给mysql) | 高并发支持 memcache: 操作字符串 | 不支持数据持久化 | 并发量小 """
Redis操作
启动服务
""" 前提:前往一个方便管理redis持久化文件的逻辑再启动服务:dump.rdb 1)前台启动服务 >: redis-server 2)后台启动服务 >: redis-server --service-start 3)配置文件启动服务 >: redis-server 配置文件的绝对路径 >: redis-server --service-start 配置文件的绝对路径 eg>: redis-server --service-start D:/redis/redis.conf """
密码管理
""" 1)提倡在配置文件中配置,采用配置文件启动 requirepass 密码 2)当服务启动后,并且连入数据库,可以再改当前服务的密码(服务重启,密码重置) config set requirepass 新密码 3)连入数据库,查看当前服务密码密码 config get requirepass """
连接数据库
""" 1)默认连接:-h默认127.0.0.1,-p默认6379,-n默认0,-a默认无 >: redis-cli 2)完整连接: >: redis-cli -h ip地址 -p 端口号 -n 数据库编号 -a 密码 3)先连接,后输入密码 >: redis-cli -h ip地址 -p 端口号 -n 数据库编号 >: auth 密码 """
关闭服务
""" 1)在没有连接进数据库时执行 >: redis-cli shutdown 2)连接进数据库后执行 >: shutdown """
切换数据库
""" 1)在连入数据库后执行 >: select 数据库编号 """
数据持久化
""" 1)配置文件默认配置 save 900 1 # 超过900秒有1个键值对操作,会自动调用save完成数据持久化 save 300 10 # 超过300秒有10个键值对操作,会自动调用save完成数据持久化 save 60 10000 # 超过60秒有10000个键值对操作,会自动调用save完成数据持久化 2)安全机制 # 当redis服务不可控宕机,会默认调用一下save完成数据持久化 3)主动持久化 >: save # 连入数据库时,主动调用save完成数据持久化 注:数据持久化默认保存文件 dump.rdb,保存路径默认为启动redis服务的当前路径 """
Redis数据类型
""" 数据操作:字符串、列表、哈希(字典)、无序集合、有序(排序)集合 有序集合:游戏排行榜 字符串: set key value get key mset k1 v1 k2 v2 ... mget k1 k2 ... setex key exp value incrby key increment 列表: rpush key value1 value2 ... lpush key value1 value2 ... lrange key bindex eindex lindex key index lpop key | rpop key linsert key before|after old_value new_value 哈希: hset key field value hget key field hmset key field1 value1 field2 value2 ... hmget key field1 field2 hkeys key hvals key hdel key field 集合: sadd key member1 member2 ... sdiff key1 key2 ... sdiffstore newkey key1 key2 ... sinter key1 key2 ... sunion key1 key2 ... smembers key spop key 有序集合: zadd key grade1 member1 grade2 member2 ... zincrby key grade member zrange key start end zrevrange key start end """
python使用redis
依赖
>: pip3 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)
缓存使用:要额外安装 django-redis
# 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')
来源:https://www.cnblogs.com/1012zlb/p/12644199.html