配置redis:
百度网盘
链接:https://pan.baidu.com/s/1Kg3Z0ZuBKkBCkaZwasRtrQ
提取码:szll
里面包含一个查看redis工具和免安装版的redis-windows-64位
傻瓜式安装即可。另一个server解压即可。
1.双击运行redis-server.exe
2.显示以下画面即启动成功
3.学习过程运行redis-cli.exe–客户端程序即可
redis:基于内存可持久化 —我理解为一个冰箱
使用场景:快和高并发
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
学习要点:
1.数据结构
5个数据结构
String: 字符串 --键值对
set keyname value
get keyname
Hash: 散列
hmset 哈希表名myhash 键名key 值value
hget myhash key
List: 列表--双向列表
lpush 列表名 value
lindex 列表名 index下标
lrange 列表名 0-10 范围
Set: 集合
不能放置重复的成员数据。
sadd key member1[member2] --添加一个或多个成员
smembers key --取出所有成员
scard key --获取集合数量
Sorted Set: 有序集合
和Set集合相同,只是多了一个double类型的分数。
通过这个score来进行从小到大的排序
2.发布pub订阅sub
SUBSCRIBE redisChat --创建订阅频道--自动订阅
publish redisChar msg --发布消息
3.设置数据的有效期
expire key seconds -- 设置n秒后过期
pexpire key milliseconds -- 设置n毫秒后过期
expireat key timestamp -- 设置达到(大于)某个时间戳(秒)后过期
pexpireat key timestamp -- 设置达到(大于)某个时间戳(毫秒)后过期
ttl key --获取key剩余生存时间(秒)
pttl key --获取key剩余生存时间(毫秒)
persist key --设置key为永久状态
setex key seconds value --设置有效期的key
常用用法:
登录验证:
设置token(一般是当前时间)随机生成作为key 和 字符串json用户信息作为value
接收token后给它设置有效期(过期时间):当前时间+有效期
取值时,判断redis是否含有这个key,为空则已经失效。需要重新登录。(数据操作时就需要用到token)
删除策略:
1.采用定时删除+懒惰删除:定时随机检查某个key,过期则删除
1.立即删除--设置回调,到期删除
2.惰性删除--下次取值时,进行check,过期则删除 --占用空间太多
3.定时删除--每隔一段时间检查过期键,短时间占用大量cpu
2.配置内存淘汰策略
allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。
3.数据备份和恢复
save --创建数据库的备份
config get dir -- 获得redis安装目录
4.redis安全
CONFIG get requirepass -- 查看是否设置密码验证
CONFIG set requirepass "runoob" -- 设置密码
AUTH password -- 密码验证
未完待更新