本文目录一览:
- 1、Redis如何保证原子性
- 2、深入了解Redis操作五大数据类型常用命令
- 3、Redis为什么会那么快?
- 4、SpringBoot进阶之缓存中间件Redis
- 5、redis主要用来做什么
- 6、redis什么类型数据库?
【redis 总结 redis笔记总结】Redis的原子操作:Redis的所有操作都是原子性的,这意味着它们要么完全执行,要么完全不执行 。比如说,当你使用Redis进行一个SET操作(即设置键值对)时,这个操作是原子的 。
在多节点集群下执行脚本无法保证操作多key的原子性 。因为多key如果不在同一个节点中的话,就会出现CROSSSLOT的错误 。脚本中的所有键必须在 cluster 中的同一个节点中 。
此外,Redis 0之后引入了线程IO , 采用多线程来处理网络数据的读写和协议解析,但命令执行仍然是单线程顺序执行 。这样的方式既能保持Redis命令执行的原子性 , 又能提高IO处理的效率 。
原子操作:redis的所有操作都是原子性的 , 这意味着它们要么完全执行,要么完全不执行 。这确保了在并发环境下的数据一致性,避免了多个操作同时对同一数据进行修改而产生的竞态条件 。
深入了解Redis操作五大数据类型常用命令hash可以用于存储变更的数据,比如user,name,age等,尤其是用户信息之类的 , hash更加适合用于对象的存储,string更加适合用于字符串的存储 。
常用命令:set、get、decr、incr、mget等 。注意:一个键最大能存储512MB 。Hash(哈希)Redis hash 是一个键值(key=value)对集合;是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象 。
String | 字符串类型 Redis的字符串类型,可以存储字符串、整数或浮点数 , 如果存储的是整数或者浮点数,还能执行自增或自减操作 。
常用命令:String应用场景:Redis hash是一个string类型的field和value的映射表 , hash特别适用于存储对象。每个hash可以存储 232-1 (40亿左右)键值对 。可以看成KEY和VALUE的MAP容器 。相比于JSON,hash占用很少的内存空间 。
Redis为什么会那么快?1、Redis 之所以快,是因为它完全基于内存,绝大部分请求是纯粹的内存操作,非常快速 。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 。
2、Redis 的执行效率快的原因有以下几点:- Redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度极快 。
3、Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快 。
4、redis是基于内存的,内存的读写速度非常快;redis是单线程的,省去了很多上下文切换线程的时间;redis使用多路复用技术,可以处理并发的连接 。非阻塞IO内部实现采用epoll,采用了epoll+自己实现的简单的事件框架 。
5、Redis之所以快 , 是因为它采用了单进程单线程模型的KV数据库 , 由C语言编写 。这个模型的优点在于,它完全基于内存,绝大部分请求是纯粹的内存操作,非常快速 。此外 , Redis采用单线程避免了不必要的上下文切换和竞争条件 。
SpringBoot进阶之缓存中间件Redis1、当有新数据的时候,我们再及时更新它 , 一般流程是先查询缓存,查到了直接返回缓存数据,查不到再走数据库,然后再刷回缓存 。
2、Redis是一个nosql数据库 , 可以存储key-value值 。因为其底层实现中,数据读写是基于内存 , 速度非常快 , 所以常用于缓存;进而因其为独立部署的中间件,常用于分布式缓存的实现方案 。常用场景有:缓存、秒杀控制、分布式锁 。
3、既可以很方便的缓存对象,同时用来缓存的内存的是使用redis的内存,不会消耗JVM的内存,提升了性能 。当然这里Redis不是必须的,换成其他的缓存服务器一样可以,只要实现Spring的Cache类,并配置到XML里面就行了 。
4、spring.redis.port=6379 这样以来,最简单的spring boot + redis实现session共享就完成了,下面进行下测试 。
redis主要用来做什么主要原因是使用redis做数据落盘是要以效率作为代价的,即每隔制定的时间,redis就要去进行数据备份/落盘 , 这对于单线程的它来说,势必会因“分心”而影响效率,结果得不偿失 。
Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」 。
- Redis支持数据的备份,即master-slave模式的数据备份 。五种用途:全页面缓存整页缓存 。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个页面 。
消息队列、分布式锁 。消息队列:Redis可以作为一种高性能的消息队列使用,实现异步处理和解耦 。分布式锁:Redis可以作为一种分布式锁的存储层 , 通过缓存锁信息和锁状态,实现分布式锁和并发控制 。
redis什么类型数据库?1、redis是一个key-value的nosql数据库(非关系型数据库) 。支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型) 。
2、是数据库Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API 。从2010年3月15日起,Redis的开发工作由VMware主持 。
3、NoSQL是指非关系型数据库,是对不同于传统关系型数据库DBMS统称 。有几种典型NoSQL数据库 。文档存储数据库是以文档为存储信息基本单位,如BaseX , CouchDB,MongoDB等 。
4、关系型数据库,是指采用了关系模型来组织数据的数据库 。在关系型数据库中,数据被组织成一系列的表格,表格中的每一列被称为一个属性,每一行称为一个记录,记录表示实体的实例 。在Redis中 , 每个键对应一个唯一的值 。
5、REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库 。
推荐阅读
- redis 多个库 redis多个数据库隔离
- redis建库建表 redis建数据表
- redis集群扩容数据迁移 redis集群扩容和缩容
- redis需要单独的服务器部署吗为什么 redis需要单独的服务器部署吗
- redis的nx redis的语言
- redis主从 集群 区别 redis主从集群原理
- 如何为成长型企业选择合适的服务器? 成长型企业怎么选服务器