Redis学习

Redis是一个开源的、高性能的键值数据库,支持数据持久化、多种数据结构如list、set、zset、hash等,并具备主从备份。相比关系型数据库,其在读写速度和扩展性上有优势,但不适合复杂查询和海量数据持久存储。Redis提供了丰富的命令操作,如设置key的过期时间、数据删除等。
摘要由CSDN通过智能技术生成

Redis

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

特点

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  • Redis支持数据的备份,即master-slave模式的数据备份。

关系和非关系型数据库

关系型数据库

采用关系模型(二维表格模型)来组织数据的数据库。

一张二维表的表名就是关系,二维表中的一行就是一条记录,一列就是一个字段

优点:

  • 容易理解,使用方便,通用的sql语言

  • 易于维护,丰富的完整形(实体完整性、参照完整性、用户定义的完整性)大大降低了数据冗余和数据不一致的概率

缺点:

  • 磁盘I/O是并发的瓶颈

  • 海量数据查询效率低

  • 横向扩展困难,无法简单的通过添加硬件和服务节点来扩展性能和负载能力,当需要对数据库进行升级和扩展时,需要停机维护和数据迁移

  • 多表的关联查询以及复杂的数据分析类型的复杂sql查询,性能欠佳,因为要保证ACID原则,必须按照三范式设计

非关系型数据库

非关系性,分布式,键值对存储,结构不固定,一般不保证遵循ACID原则的数据存储系统

优点:

  • 根据需要添加字段,不需要多表查询,仅需id取出对应的value

  • 适用于SNS(社会化网络服务软件)

  • 严格上讲不是一种数据库,而是一种数据结构化存储方法的集合

缺点:

  • 只适合存储一些简单的数据

  • 不适合复杂查询的数据

  • 不适合持久存储海量数据

比较

内容关系型数据库非关系型数据库
查询数据存储于硬盘中,数据慢存于缓存中,数据块
存储格式只支持基础类型K-V、文档、图片等
扩展性有多表查询机制,扩展困难数据之间没有耦合,容易扩展
持久型适用持久存储,海量存储不适用持久存储,海量存储
数据一致性事务能力强,强调数据的强一致性事务能力弱,强调数据的最终一致

五种基本数据类型

String

Hash

List

有序可重复

Set

无序不可重复

Sorted set

有序不重复

Redis-cli通用命令

命令

根据层级关系目录形式存储数据

 

置key的失效时间

Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) :

  • EXPlRE <key> <ttl> 命令用于将键key 的生存时间设置为ttl 秒。

  • PEXPIRE <key> <ttl> 命令用于将键key 的生存时间设置为ttl 毫秒。

  • EXPIREAT <key> < timestamp> 命令用于将键key 的过期时间设置为timestamp所指定的秒数时间戳。

  • PEXPIREAT <key> < timestamp > 命令用于将键key 的过期时间设置为timestamp所指定的毫秒数时间戳

ttl:获取值为-1 说明此key没有设置有效期,当值为-2 说明已过期

第一种:在设值的时候指定失效时间

 

第二种:对一个已经存在的值设置失效时间

 

两个参数:

  • NX:设置的时候key不存在,才能设置成功

  • XX:一定要存在的时候才能设置成功

通用删除命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值