
Redis
文章平均质量分 53
Redis
赵鹏翔
上海市东华大学在读研究生,大家共勉。
展开
-
Redis面试整理
1 redis 简介简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。2 为什么要用 redis/为什么要用缓存主要从“高性能”和“高并发”这两点来看待这个问题高性能:假如用户第一次访问数据库中的某些数据。这个过程会比原创 2021-04-26 23:01:16 · 1128 阅读 · 2 评论 -
分库分表之后,id 主键如何处理?
分库分表之后,id 主键如何处理?因为要是分成多个表之后,每个表都是从 1 开始累加,这样是不对的,我们需要一个全局唯一的 id 来支持。生成全局 id 有下面这几种方式:UUID不适合作为主键,因为太长了,并且无序不可读,查询效率低。比较适合用于生成唯一的名字的标示比如文件的名字。数据库自增 id两台数据库分别设置不同步 ,生成不重复ID的策略来实现高可用。这种方式生成的 id 有序,但是需要独立部署数据库实例,成本高,还会有性能瓶颈。利用 redis 生成 id性能比较好,灵活方便,不依原创 2021-04-25 23:27:17 · 832 阅读 · 3 评论 -
什么是池化设计思想?什么是数据库连接池?为什么需要数据库连接池?
池化设计思想我们常用的如java线程池、jdbc连接池、redis连接池等就是这类设计的代表实现。这种设计会初始预设资源,解决的问题就是抵消每次获取资源的消耗,如创建线程的开销,获取远程连接的开销等。就好比你去食堂打饭,打饭的大妈会先把饭盛好几份放那里,你来了就直接拿着饭盒加菜即可,不用再临时又盛饭又打菜,效率就高了。除了初始化资源,池化设计还包括如下这些特征:池子的初始值、池子的活跃值、池子的最大值等,这些特征可以直接映射到java线程池和数据库连接池的成员属性中。什么是数据库连接池?为什么需要数据库原创 2021-04-25 23:24:10 · 781 阅读 · 0 评论 -
非关系型数据库和关系型数据库区别
非关系型数据库性能较高(高并发,快)、价格较低、可扩展性更好(数据耦合性不高)关系型数据库除了与上述特点相反外,使用方便,易于复杂操作,支持事务原创 2021-04-15 17:12:15 · 217 阅读 · 0 评论 -
Redis事务与MySQL事务 整理
事务:Transaction本质是一组命令的集合,可以一次执行多个命令,所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许插队。将一组需要一起执行的命令放到multi和exec两个命令之间。multi命令代表事务开始,exec命令代表事务结束,它们之间的命令是原子顺序执行的。Redis事务的三个特性单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断;没有隔离级别的概念:队列中的命令没有提交之前都不会实际的被执行,因为事务转载 2021-04-15 21:24:00 · 441 阅读 · 0 评论