redis基础

redis概况

1.概念

1.1什么是redis

nosql , key-value,基于内存,实现缓存,可持久化,非关系型数据库,数据库(数据读写)
nosql:不仅支持结构化查询语句
value五种的数据类型String hash set list zset
基于内存:redis运行速度极快,最大支持的上限万条/秒
可持久化:
memoryCache ,类似于redis的缓存持久化
只支持String .不支持持久化,
雪崩:如果一个长期运行的系统中,使用redis,缓存数据非常多,如果突然缓存故障(内存数据丢失),导致海量请求大量涌入数据库,数据库承受不住-宕机-重启,海量数据请求并未消失,所以在缓存技术数据恢复之前,系统不可用。
持久化
缓存使用数据在内存,为了保证宕机数据不丢失,在运行期间使用持久化机制将内存数据存储在磁盘。可以在技术启动时重新加载磁盘数据。
数据未命中:缓存数据丢失

1.2 redis可以干什么

五种数据类型有关,可以实现缓存,可以实现分布式内存锁,其他复杂功能(计步器, 共同好友,排行榜)

redis的安装

获取安装包的解压

在这里插入图片描述

redis基础

五种数据结构:

  • String 字符串
  • Hash 面向对象的结构
  • List 双向链表
  • set 集合
  • zset 有序集合

基础命令

keys * 
//查看所有key ,只支持节点中查找,不支持集群中查找
del name
//删除 name
exists name
//判断name,是否存在
save
//将数据持久化到内存中
flushall
//将内存数据清空,测试环境使用,生产环境绝不允许执行
flushdb
//select 选择分库, flushdb刷新当前分库中的数据
expire key 
//设置key的超时时间
ttl key 
//查看剩余超时时间 -1 表示永久数据
pexpire key 
//设置key的超时时间(毫秒)
pttl key 
//查看剩余超时时间 -1 表示永久数据(毫秒)
type key
//查看key对应的数据类型

save
在这里插入图片描述
flushall
在这里插入图片描述
flushdb
在这里插入图片描述

String的命令

set key
//新增、覆盖
get key
//获取
incr key 
//自增
decr num
//自减
incrby num 2
//增加2
decrby num 2
//减少2
append
//追加,修改的一种
mset k1 v1 k2 v2
//批量操作

在这里插入图片描述

hash类型

在这里插入图片描述

hset key name qaz
gset key name
hmset user name qaz pw 123
hmget user name pw
hkeys user
hvals user
hlen
hdel //删除属性值 key保留/del全部删除 
//

在这里插入图片描述

List链表(lpush/rpush,lpop/rpop,lrange)

双向链表,特点,头尾操作速度快,中间的操作速度慢,有排序,分为上(左)(头)/下(右)(尾)
在这里插入图片描述

set类型

在这里插入图片描述

sadd favor math chinese english  		//添加
smembers favor 							//获取所有元素
srem favor xxx 							//删除某个元素
scard favor 							//获取元素个数
sismember key element 					//判断元素是否在集合中
srandmember key num						//随机抽取几个元素

集合与集合之间的操作

sinter set1 set2 						//set1与set2的交集
suinon set1 set2 						//并集
sdiff set1 swt2 						//差集

zset有序集合

在这里插入图片描述

zadd result 10 qaz 							//添加成员
zcard key 									//查询成员个数
zscore result wsx 							//查询某个成员分数
zrank key member							//计算成员的排名(升序,数值越大,排序越高) 
zrem key member 							//删除某个成员
zincrby key increment member 				//增加成员分数
zrange key start end 						//返回指定排名范围的成员
zrangebysore key min max 					//返回指定分数范围的成员 
zcount key min max 							//返回指定分数范围成员个数 
zremrangebyrank key start end 				//删除指定排名内的升序元素 
zremrangebyscore key min max 				//删除指定分数范围的成员 
zset数据中的所有交集并集的操作,是将结果输出到一个新的集合中

在这里插入图片描述
redis实现可持久化的方式:

  • rdb: dump.rgb, save 存储内存key-value
  • aof: 日志型
    缓存逻辑:
    目的是减少层次的调用,数据的传递,提升效率
    作用:系统的单位时间并发能力提高

分布式:
三个节点的分布式集群,数据分片的计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值