Redis学习笔记(一)

一、基础概念

xshell不让用了,免费申请网址打不开,so发现了一个轻量级ssh工具 【putty】 推荐一下,二进制打开就可以用,只有1M
数据磁盘:
1、寻址:ms级别
2、带宽:G/M

内存:
1、寻址:ns级别(比磁盘寻址快了10万倍)
2、带宽:很大

IO buffer 成本问题
磁盘与磁道,扇区,一扇区 512Byte ,扇区太小带来一个成本问题:索引变大
磁盘格式化默认4k, 无论读取多少数据,都是最少4k从磁盘拿
随着文件变大,I/O成为瓶颈,速度变慢了

数据存储在磁盘上的关系型数据库
1、数据存储在:data page(默认4k)
2、索引也是建在4k的data page上
3、数据和索引都在磁盘,内存中会存储一个B+树
3、关系型数据库建表,必须给出schema类型:字节宽度;存储:倾向于行级存储
5、差不多速度千Byte/sec

SAP公司的HANA数据库
内存级别的关系型数据库,内存为2T。ERP软件+定制硬件:售价2个亿
数据在磁盘(数据量大的时候索引也很占位置)和内存中存储体积是一样的

由此引出折中的方法,利用缓存存储数据
memcached redis(redis可达10wByte/sec)
计算机依赖的基础设施:
1、冯诺依曼的硬件体系
2、以太网、TCP/IP的网络

数据库排名网站
https://db-engines.com/en/ranking

问题
1、数据库表很大,性能下降?

增删改,速度变慢
查询速度?1、1个或者少量查询依然很快;2、并发大的时候会受硬盘带宽的影响。

二、数据类型

2.2 List(链表)

help @list

2.3 hash

2.4 set

2.5 sorted_set 有序集

元素包含 分值,正/反项索引

  • 物理内存中元素是按照分值从小到大排列,排列顺序不随命令发生变化(适用于歌曲排行榜)
127.0.0.1:6379> zadd k11 8 apple 2 banan 3 orange
127.0.0.1:6379> ZRANGE k11 0 1
1) "banan"
2) "orange"
127.0.0.1:6379> zrevrange k11 -2 -1
1) "orange"
2) "banan"
127.0.0.1:6379> zrange k11 0 -1
1) "banan"
2) "orange"
3) "apple"
  • 是一个集合,交、并,差集

zunionstore 交集命令 权重、聚合指令

  • 排序是如何是实现,增删改查的速度

底层使用skip list跳跃表,

三级目录

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值