Redis的基本介绍

Redis

Nosql介绍

非关系型数据库.数据模型之间不再包含对应关系. 作用范围 : 数据量大的情况

非关系型数据库 : Redis, MongoDB,Hbase等

关系型数据库 : Mysql , Oracle , MS-SqlServer ,遵守ACID原则

1、A (Atomicity) 原子性

事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。

2、C (Consistency) 一致性

数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。

3、I (Isolation) 独立性

并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。

4、D (Durability) 持久性

一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

 

Redis介绍

1. Redis是一个Key-Value结构的存储系统(相当于一个超大型的Map);

2. Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统。

3. 它支持存储的类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。

4. 为了保证效率,数据都是缓存在内存中。同时,redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

分布式架构图

 

 

Redis特点

1. 高性能,持久存储,适应高并发的应用场景。

2. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。

3. Redis数据库完全在内存中,使用磁盘仅用于持久性。

4. Redis可以将数据复制到任意数量的从服务器。

Redis 优势

1. 异常快速:Redis的速度非常快,支持丰富的数据。读的速度是110000次/s,写的速度是81000次/s 。

2. 类型:Redis支持多数开发人员已经知道的类型。像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

3. 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

4. 多功能实用工具Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

Redis数据类型

字符串(String)

l 数据类型介绍

1. 存储字符串类型的值,一般也可以做计数器使用

2. 单个String最多能存储512M

l 语法介绍

1. SET [KEY] [VALUE] –新增或修改key的值

2. GET [KEY] – 获取key的值

3. INCR [KEY] – 将key中存储的value值做+1操作

4. INCRBY [KEY] [INCREMENT] – 将key中存储的value加上指定的增量值(increment)

5. DECR [KEY] – 将key中存储的value值做-1操作

6. DECRBY [KEY] [INCREMENT] – 将key中存储的value减去指定的增量值(increment)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lettuce是一个基于Java的Redis客户端,用于与Redis服务器进行交互。它提供了一种简单而高效的方式来连接、发送命令和接收响应。 下面是使用Lettuce连接和操作Redis基本步骤: 1. 添加Lettuce依赖:将Lettuce的Maven或Gradle依赖添加到你的项目中。 2. 创建Redis连接:使用`RedisClient.create()`方法创建一个RedisClient对象,该对象代表与Redis服务器的连接。 ```java RedisClient client = RedisClient.create("redis://localhost:6379"); ``` 3. 创建连接状态:使用`client.connect()`方法创建一个StatefulRedisConnection对象,该对象代表与Redis服务器的连接状态。 ```java StatefulRedisConnection<String, String> connection = client.connect(); ``` 4. 获取Redis命令发送器:使用`connection.sync()`方法获取一个同步命令发送器,该对象用于发送同步命令到Redis服务器并接收响应。 ```java RedisCommands<String, String> commands = connection.sync(); ``` 5. 执行Redis命令:使用`commands`对象执行各种Redis命令,比如`set`、`get`、`incr`等。 ```java commands.set("key", "value"); String value = commands.get("key"); ``` 6. 关闭连接:在完成操作后,记得关闭连接以释放资源。 ```java connection.close(); client.shutdown(); ``` 以上是Lettuce的基本用法示例。除了同步命令发送器外,Lettuce还提供了异步命令发送器和响应式命令发送器,可以根据需要选择适合的方式进行操作。 需要注意的是,以上示例中的连接URL、主机和端口号可能需要根据你的实际情况进行修改。 希望这个简单介绍能帮助到你!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值