
数据库
数据库内容
李广进
死磕自己
展开
-
redis中的三个过期键的删除策略?
三种:定时过期、惰性过期、定期过期定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极端情况可能出现大量的过期key没...原创 2020-05-06 22:25:19 · 194 阅读 · 0 评论 -
你对 Redis 的持久化机制了解吗?
Redis 为了保证效率,数据缓存在了内存中,但是会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件中,以保证数据的持久化。Redis 的持久化策略有两种:RDB:快照形式是直接把内存中的数据保存到一个 dump 的文件中,定时保存,保存策略。AOF:把所有的对 Redis 的服务器进行修改的命令都存到一个文件里,命令的集合。Redis 默认是快照RDB 的持久化方式。当 R...原创 2020-05-06 22:24:28 · 162 阅读 · 0 评论 -
你是怎样用redis的?
我是直接通过 RedisTemplate 来使用的1在 pom.xml 中加入依赖。2配置文件 application.yml 的配置,数据库连接地址,与端口,还有password,连接池最大连接数。3 RedisTemplate 的使用方式默认情况下的模板只能支持 RedisTemplate<String, String>,也就是只能存入字符串,所以自定义模板很有必要。添加...原创 2020-05-06 22:19:58 · 236 阅读 · 0 评论 -
redis 常见数据结构
1.String 字符串类型set hello worldget helloString是Redis 最基本的类型,一个 Key 对应一个 Value。Value 不仅是 String,也可以是数字。String 类型是二进制安全的,意思是 Redis 的 String 类型可以包含任何数据,比如 jpg 图片或者序列化的对象。String 类型的值最大能存储 512M。2.Hash (...原创 2020-05-06 11:47:00 · 841 阅读 · 1 评论 -
你来说一下Redis是什么吧?
Redis是C语言开发的一个高性能键值对内存数据库。为什么性能优秀呢,数据在内存中,读写速度非常快。单进程单线程,是线程安全的,有丰富的数据类型,支持字符串(string)、散列(hashe)、列表(lists)、集合(set)、有序集合(sorted sets)等。支持数据持久化。可以将内存中数据保存在磁盘中,重启时加载。主从复制,哨兵,高可用。可以用作分布式锁。可以作为消息中间件使用,支持发...原创 2020-05-02 00:07:26 · 319 阅读 · 0 评论 -
java连接数据库的详细步骤?
java访问数据库主要用的方法是JDBC,它是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,1.加载(注册)数据库Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);2.建立链接//Sql Server7.0/2000/2005/2008数据库String u...原创 2020-05-02 00:06:14 · 2144 阅读 · 0 评论 -
项目中使用了外键了吗?外键有什么作用?
外键作用:实现表与关联表之间的数据一致性用还是不用?互联网行业:不推荐使用外键用户量大,并发度高,为此数据库服务器很容易成为性能瓶颈,尤其受IO能力限制,且不能轻易地水平扩展;若是把数据一致性的控制放到事务中,即让应用服务器承担此部分的压力;应用服务器一般都是可以做到轻松地水平的伸缩;传统行业:可以使用软件应用的人数有限,换句话说是可控的;数据库服务器的数据量也一般不会超大,...原创 2020-05-02 00:05:41 · 427 阅读 · 0 评论 -
B树与B+树有什么区别?
B树每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null。B+树只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针。b+树的中间节点不保存数据,所以磁盘页能容纳更多节点元素,更“矮胖”;b+树查询必须查找到叶子节点,b树只要匹配到即可不用管元素位置,因此b+树查找更稳定(并不慢);对于范围查找来说,B+树只要遍历叶子节点就可以实现整棵...原创 2020-05-02 00:04:30 · 900 阅读 · 0 评论 -
创建索引时候会考虑哪些因素?
哪些情况或字段适合加索引?在经常需要搜索的列上主键列上可以确保列的唯一性在表与表的而连接条件上加上索引,可以加快连接查询的速度在经常需要排序(order by),分组(group by)和的 distinct 列上加索引可以加快排序查询哪些情况不适合创建索引?查询中很少使用到的列很少数据的列定义为 text 和 image 和 bit 数据类型的列表的修改大大多于查询哪些情况会...原创 2020-05-02 00:03:49 · 2821 阅读 · 0 评论 -
数据库中的索引是指什么?
预读机制:当访问一个地址数据的时候,与其相邻的数据很快也会被访问到。基于磁盘IO预读机制,索引可以快速查询数据索引的本质是一张特殊的表 相当于目录索引表中关键字就是要查找的知识点,索引中的地址就是这个知识点对应的位置。...原创 2020-05-02 00:03:13 · 640 阅读 · 0 评论 -
MySQL数据库的优化的思路方式方法?
1数据库结构优化a建表的时候优化:列选择原则1字段类型优先级:整形>date,time->char varchar->text、blob2合理地设置字段大小够用就可以3尽量不要用text类型4尽量不用NULL() 索引NULL列需要额外的空间来保存5对于非负型的数据 (如整型 IP) 来说,要优先用无符号整型来存储 无符号占多出一倍。6同财务相关的金额类数...原创 2020-05-02 00:02:35 · 210 阅读 · 0 评论 -
什么是脏读、不可重复读、幻读?
1、脏读:事务A读到了事务B未提交的数据。2、不可重复读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到row1,但列内容发生了变化。3、幻读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到两行记录row1和row2。...原创 2020-05-02 00:01:49 · 191 阅读 · 0 评论 -
事务的ACID特性是什么?
原子性:操作要不全部完成 要不就不全部不完成一致性:对数据可见性的约束,中间状态数据不可见,开始与结束状态的数据对外可见。隔离性:事务与事务互不影响。持久性:数据可以持久化到数据库中,不会被回滚。...原创 2020-05-02 00:01:17 · 714 阅读 · 0 评论 -
Mysql 常用的存储引擎有什么?
MyISAM存储引擎 InnoDB存储引擎(MySQL5.5后的默认) MEMORY存储引擎1MyISAM 更适合读密集的表,不支持事务,用的是表锁而 InnoDB 更适合写密集的的表,支持事务,行级锁(并发效率高)在数据库做主从分离的情况下,经常选择MyISAM 作为主库的存储引擎。2可使用 MEMORY 来存储非永久需要的数据,或能够从基于磁盘的表中重新生成的数据。MEMORY(...原创 2020-05-02 00:00:52 · 321 阅读 · 0 评论 -
说一下Mysql 的执行流程?
其实就是说架构图,总的来说是 客户端->server层->存储引擎->取数据。server层中是连接器->分析器->优化器->执行器->存储引擎 而 连接器后先进行查询缓存。...原创 2020-05-02 00:00:07 · 143 阅读 · 0 评论 -
说一下 MySQL的三大范式?
第一范式:表中不能出现重复的记录,每个字段是原子不可分第二范式:在第一范式基础上,非主键字段要完全依赖主键。第三范式:在第二范式基础上,非主键字段不能传递依赖主键字段。学生编号(PK)<-班级编号 <-班级名称 XXX...原创 2020-05-01 23:58:37 · 220 阅读 · 0 评论