Redis 安装与使用

1安装
1 将Redis文件传到linux中进行解压
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
**2 Redis介绍
**Redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景,排行榜、计数器、消息队列推送、好友关注、粉丝。

1 Redis与MySQL/Oracle的区别:
1)存储介质:Redis存储在内存,但是可以将数据持久化到硬盘。MySQL/Oracle将数据持久化的存储到硬盘;
2)数据库类型:Redis属于非关系型数据库;MySQL/Oracle关系型数据库
3)存取效率:Redis直接在内存中存取数据效率高;MySQL/Oracle每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。

第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;
第二:反复的访问数据库也会导致数据库的负载过高

2 与关系型数据库区别
Redis数据库有16个,分别是0-15,每个数据库用数字命名,而且每个数据库的连接密码都一样,redis只允许一个密码。数据库之间不能共享,并且基于单机才有,如果是集群,就没有数据库的概念了。

redis之所以分这么多个数据库,也是为了区分业务,不同的业务存放在不同的库,但是一个redis,一般是给一个项目用,项目内的不同业务,单独用一个库,这样不会相互有数据交叉。现在很多微服务项目,一个项目里有多个微服务,redis统一由团队管理,每个服务连接自己的库就可以了。

可以通过select num,来切换数据库
在这里插入图片描述
3 Redis数据结构
Redis支持五种数据类型:
字符串(String)
哈希(Hash)
列表(list)
集合(sets)
有序集合(sorted sets)

字符串(String): 增删改查

set key value
del key
set key newvalue
get key
mset key1 value1 key2 value2 --批量增加

Redis数据结构-哈希(hash)
在这里插入图片描述
Redis数据结构-列表(list)
列表(list)
rpush key value [value …] --右插
lpush key value [value …] – 左插
linsert key BEFORE|AFTER pivot value
lrange key start stop
lindex key index
llen key
lpop key – 左弹
rpop key – 右弹
lset key index value --修改下标index的元素值

Redis数据结构-集合(Set)
集合(sets) (集合内不允许相同的元素)
集合内元素操作
sadd key element [element …] --增
srem key element [element …] --删
scard key --计算元素个数
sismember key element --判断元素是否在集合中
spop key
smembers key --获取所有元素
– 集合间元素操作
sinter key [key …] --交集
sunion key [key …] – 并集
sdiff key [key …] --差集
– 将结果保存
sinterstore destination key [key …]
suionstore destination key [key …]
sdiffstore destination key [key …]

Redis数据结构-设置过期时间
常用操作:
ttl
-1 键没设置过期时间/永久有效
-2 键不存在
>0 键剩余的过期时间
type --查看键的类型
flushdb/flushall --删除数据
info memory --查看内存信息
select db --选择库
Expire – 设置过期时间
PERSIST 命令可以移除一个键的过期时间

Redis性能测试
Redis自带了一个叫redis-benchmark工具来模拟N个客户端同时发出M个请求
在这里插入图片描述
选择测试键的范围大小 -r
默认情况下面,基准测试使用单一的key,在一个基于内存的数据库里,单一key测试和真实情况下面不会有巨大变化。
当然,使用一个大的key范围空间,可以模拟现实情况下面的缓存不命中情况。
这个时候可以使用-r命令。例如我们想设置10万随机key连续SET 100万次,命令如下
[root@testceph ~]# redis-cli flushall
[root@testceph ~]# redis-benchmark -t set -r 100000 -n 1000000
[root@testceph ~]# redis-benchmark -t set -r 100000 -n 1000000
使用pipelining -P
默认情况下,每个客户端都是在一个请求完成之后才发送下一个请求(benchmark会模拟50个客户端除非使用-c指定特定的数量),
这意味着服务器几乎是按顺序读区每个客户端的命令。
真实世界会更复杂,Redis支持/topics/pipelining,使得可以一次性执行多条命令成为可能。Redis pipelining可以提高服务器的TPS
使用pipelining 16条命令的测试范围
[root@testceph ~]# redis-benchmark -n 1000000 -t set,get -P 16 -q
SET: 1218026.88 requests per second
GET: 1322751.38 requests per second

Redis架构模式
1.单机版

优点:简单;
缺点:内存容量有限;处理能力有限;无法高可用

2.集群版

优点:
主从复制:Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来创建任意多个该服务器的复制品,其中被复制的服务器为主服务器(master),而通过复制创建出来的服务器复制品则为从服务器(slave)。 只要主从服务器之间的网络连接正常,主从服务器两者会具有相同的数据,主服务器就会一直将发生在自己身上的数据更新同步 给从服务器,从而一直保证主从服务器的数据相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值