麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
854
2023-05-05
不会这门技术也想年薪百万?Redis内存数据库知识精讲
内存数据库
1. Redis产生背景
随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量,这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O压力,来解决系统性能上的瓶颈。
2. Redis是什么?
Redis是开源的,高性能,C语言开发的,键值对(k-v)存储数据的NoSQL数据库。
Redis是分布式的内存数据库,读取速度每秒能达到10W左右。而且用redis-benchmark可以测试机器性能。执行redis-benchmark也可以看出Redis的读取性能。Redis默认有16个数据库,用select可以切换Redis的数据库,下角标是从0开始的。在redis.conf文件中也可以找到databases 16。Redis默认端口6379。
2.1 NoSQL数据库是什么?
NoSQL:Not noly SQL,泛指非关系型数据库,例如***、Redis
3. 数据库应用的发展历史
(1).在互联网大数据时代来临之前,企业的一些内部信息管理系统,一个单一数据库实例可以应付系统的需求
❦单数据库实例
(2).随着系统访问量用户的增多,数据量的增大,单个数据库实例已经瞒住不了系统读取数据的需求
❦缓存(memcache)+数据库实例
(3).缓存可以缓解数据库的读取压力,但是数据量的写入压力持续增大,可以采取数据库主从进行读写分离
❦缓存+主从数据库+读写分离
(4).数据量再次增大,读写分离以后,主数据库的写库压力出现瓶颈
❦缓存+主从数据库集群+读写分离+分库分表
(5).互联网+大数据时代来临,关系型数据库不能很好的存取一些并发性大,实时性高而且格式不固定的数据
❦NoSQL+主从数据库集群+读写分离+分库分表
4. Redis有什么用?
redis的主要作用:快速存取
Redis的应用场景?
单点登录/直播平台在线好友列表/抢购/秒杀/商品的排行/点赞/数据过期
Redis怎么用?
官网地址:redis,io
***版本:3.2.9
应用版本:3.0.4
5. Redis的五大数据类型以及应用场景
*String类型
k-v格式中V的数据类型是String,一个redis字符串value最多可以存512M
应用场景:秒杀商品/点赞
设值 set key value
取值 get key
删除 del key
incr key 递增加1
decr key 递减减1
incrby key 2 递增加 2
decrby key 2 递减减2
*Hash类型
k-v格式中V的数据类型是hash。
应用场景:电商网站中的商品详细信息
设值:hset mobile id 1 设值mobile id 为1
取值:hget mobile id
批量设值:hmset mobile_huawei id 1 name huaweip10 price 5600
批量取值:hgetall mobile_huawei
删除 del key
*List类型
k-v格式中V的数据类型是List。
应用场景:获取分页/商品评论表
rpush list01 1 1 2 2 3 3 4 4 插入数据
删除:lrem list01 2 3 删除2个3
*Set类型
k-v格式中V的数据类型是set和list不同是:list是有序的,set是无序的,且具有唯一性
应用场景:微信朋友圈查看权限/独立IP投票限制
增加:sadd set01 1 1 2 2 3 3
去掉重复数据添加1 2 3,因为set具有唯一性。插入重复数据直接会过滤掉
添加朋友圈juran sadd friends:juran a b c
添加朋友圈xxxx sadd friends:xx b c
查看集合的交集:sinter friends:juran friends:xx
*Zset类型
k-v格式中v的数据类型是zset,有序的
应用场景:商品的销售排行
增加 zadd mobile:sales 100 huawei 99 ipx 98 vivo 97 oppo
从小到大获取商品:zrange moblie:sales 0 -1
从大到小获取商品:zrevrange mobile:sales 0 -1
如果想带上数量可以加上参数,withscores
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。