Redis学习

灰太狼 2024-04-06 14:16 22阅读 0赞

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

f65130c8b9e84543846f5ea0882928fb.png

Hash

e3d74c7a8fe842f1ac287867079f8265.png

List

有序可重复

2b5526aa596f49d0aed36f233045b5d8.png

Set

无序不可重复

f062cdc59a1440ae870ed71e2794b3d2.png

Sorted set

有序不重复

686cf22aa4d3498b9c4b21080fc86d30.png

Redis-cli通用命令

命令

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

db85b87270c24979bf4c526de39de72d.png

置key的失效时间

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

  • EXPlRE 命令用于将键key 的生存时间设置为ttl 秒。
  • PEXPIRE 命令用于将键key 的生存时间设置为ttl 毫秒。
  • EXPIREAT < timestamp> 命令用于将键key 的过期时间设置为timestamp所指定的秒数时间戳。
  • PEXPIREAT < timestamp > 命令用于将键key 的过期时间设置为timestamp所指定的毫秒数时间戳

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

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

d0ef9327cf5c4c8d91bff3a1547f7597.png

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

56c3cacd1b6a4cd6b3b756c68fef05e7.png

两个参数:

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

通用删除命令

9c583207134741e089c6aa3b2eafb59b.png

发表评论

表情:
评论列表 (有 0 条评论,22人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Redis学习

    Redis Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 特点 Redis支持数据的持久化,可以将内存中的数据