Redis基础知识
一、对比Nosql与sql
Sql:关系型数据库
结构化(Structured)->字段有约束,约定好结构就好了,表变了业务也可能变。
关联的->如用户表、商品表、订单表。
查询:查询语法。(格式与语法固定)。
事务:原子性、一致性等事务。(ACID)
存储: 磁盘。(存储在本机,数据量大只能提升电脑性能)
扩展性: 垂直。
使用场景:数据结构固定;相关业务对数据安全性、一致性要求较高。
Nosql:非关系型数据库
非结构 -> 有键值对形式,有文档形式(字段没有约束)。
非关联->可以将用户表、商品表、订单表存在json中,缺点就是重复。
没有规定查询语句(get user:1)。
事务:无法全部满足ACID事务。(BASE)
存储:内存。
扩展性:水平。
使用场景:数据结构不固定;对一致性、安全性要求高;对性能要求。
二、认识redis
特征:
键值型:value支持多重不同数据结构,功能丰富。
单线程:每个命令具备原子性。(6.0对网络请求是多线程,核心是单线程)
低延迟,速度快(基于内存、IO多路复用,良好的编码)。
支持数据持久化。(定期将数据存在内存中,以防止断点,丢失数据)
支持主从集、分片集。(从节点可以备份主节点防止一个节点坏了可以从另外一个节点中获取)(分片是将1T内存存在多个机器中)
支持多语言客户端
三、安装Redis
下载地址:
打开redis:启动
默认开启端口号:6379
Wins启动cli: -h 127.0.0.1 -p 6379
四、Redis命令行客户端
redis-cli [options] [commonds]
如:
-h 127.0.0.1 指定要链接的redis节点的ip地址,默认是127.0.0.1
-p 6379 :指定redis节点的端口,默认是6379.
-a 123321 : 指定redis的访问密码。
五、图形化桌面客户端:
redis默认是16个库。(select 0)表示进入0号库
六、Redis数据结构
Redis是一个key-value的数据库,key一般是String类型,不过value的类型是多种多样:
String、hash、List、Set、SortedSet、GEO、BitMap、HyperLog
七、Redis通用命令
命令:Help @generic(查看所有的命令)
redis doc 常用的:
Keys :查看符合模板的所有key。
Keys * 查看当前库的所有key
Keys a* 查看a开头的key
del:删除key
Del name :删除key名为name。
Del k1 k2 k3 :批量删除key为k1,k2,k3
mset: 批量插入
Mest k1 v1 k2 v2 k3 v3
Exists 判断key是否存在
存在返回1不存在0
Expire:给一个key设置有效期,有效期到期时key会被自动删除。
Expire key 20(将key设置有效期20)
TTl:查看一个key的剩余有效期
Ttl key 返回-2 :代表已失效。
Ttl key 返回-1:代表永久有效
八、String类型
String类型,也就是字符串类型,是redis中最简单的存储类型。
其value是字符串,不过根据字符串的格式不同,又可以分为3类:
String :普通字符串
Int : 整数类型,可以做自增,自减操作。
Float: 浮点类型,可以做自增,自减操作。
不管是那种格式,底层都是字节数据形式存储,只不过是 编码方式不同。字符串类型的最大空间不能超过512m。
Key->value{
Msg-> hello
Num->10
Score->92.5
}
String类型的常见命令:
Set :添加或者修改已经存在的一个String类型的键值对。
Get:根据key获取String类型的value
Mset: 批量添加多个String类型的键值对
Mget: 根据多个key获取多个String类型的value。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论