Redis

这篇博客详细介绍了Redis的基础知识,包括Redis的特性、数据结构、常见命令以及Java客户端的使用。内容涵盖Redis的NoSQL特性、主从集群与分片集群的概念,以及Jedis、SpringDataRedis的使用,特别强调了RedisTemplate的序列化方式及其优缺点。
摘要由CSDN通过智能技术生成

一、Redis入门

1.1 初识Redis

1.1.1 认识NoSql(SQL与NoSQL的对比)

ACID确保了数据库事务的可靠性和一致性。而在Java中,base(即"Basically Available, Soft state, Eventually consistent")是一种松散的事务处理模型,它放宽了ACID的一致性要求,允许在分布式系统中的不同节点之间存在一定的延迟和数据不一致的情况。这样可以获得更高的可用性和性能,但牺牲了一致性的强度。

1.1.2 认识Redis

Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征:

  1. 键值(key-value)型,value支持多种不同数据结构,功能丰富
  2. 单线程,每个命令具备原子性
  3. 低延迟,速度快(基于内存、IO多路复用、良好的编码)
  4. 支持数据持久化
  5. 支持主从集群、分片集群
  6. 支持多语言客户端

主从集群(Master-Slave Cluster)是一种数据库集群架构,其中有一个主节点(Master)和多个从节点(Slaves)。主节点负责处理写操作(数据的插入、更新、删除),从节点负责处理读操作(查询数据)。主节点将写操作的结果同步到从节点上,从节点与主节点保持一致,以提供高可用性和读取的负载平衡。

分片集群(Sharded Cluster)是一种数据库集群架构,用于处理大规模数据的存储和查询。在分片集群中,数据被分成多个片(Shard),每个片分布在不同的节点上。每个节点可以容纳多个片。同时,分片集群还包括一个路由层(Router),负责将查询请求路由到相应的片上,以实现查询的并行和负载均衡。

通过使用主从集群和分片集群,可以提高数据库的可扩展性、高可用性和性能。主从集群可以减轻主节点的压力,提高读取的吞吐量;而分片集群可以使大规模数据分布在多个节点上,支持并行查询,提高查询性能。

1.2 Redis常见命令

1.2.1 Redis数据结构

1.2.2 Redis通用命令

通用指令是部分数据类型的,都可以使用的指令,常见的有:

  1. KEYS:查看符合模板的所有key
  2. DEL:删除一个指定的key
  3. EXISTS:判断key是否存在
  4. EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
  5. TTL:查看一个KEY的剩余有效期(time to live)

1.2.3 String类型

String类型,也就是字符串类型,是Redis中最简单的存储类型。

其value是字符串,不过根据字符串的格式不同,又可以分为3类:

  1. string:普通字符串
  2. int:整数类型,可以做自增、自减操作
  3. float:浮点类型,可以做自增、自减操作

不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过512m.

KEY

VALUE

msg

hello world

num

10

score

92.5

String的常见命令有:

SET:添加或者修改已经存在的一个String类型的键值对

GET:根据key获取String类型的value

MSET:批量添加多个String类型的键值对(Multi

MGET:根据多个key获取多个String类型的value

INCR:让一个整型的key自增1

INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2

INCRBYFLOAT:让一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值