分类 SQL 下的文章

使用Mysql binlog恢复数据

前言

由于服务器异常宕机,导致Mysql数据库文件损坏,部分表数据丢失。

幸好MySQL 8.0默认开启了binlog,可以用它恢复数据。

阅读剩余部分

Redis有哪几种数据结构?

String——字符串 

String数据结构是简单的key-value类型,value不仅可以是String,也可以是数字(当数字类型用Long 可以表示的时候encoding就是整型,其他都存储在sdshdr当做字符串)。

阅读剩余部分

Redis缓存设计要点随谈

在高并发系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的数据库,系统是很难撑住高并发的冲击。所以缓存设计是系统很关键的一环。

阅读剩余部分

mysql索引优化常用手段

满足最左匹配原则

顾名思义:最左优先,以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like)就会停止匹配。

不使用select *

使用SELECT*时,将无法进行概要分析。select *是一种反模式。如果是使用非主键索引查询,会出现回表的情况。

阅读剩余部分

Redis锁被别人释放怎么办

什么是分布式锁?

要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。

线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。

阅读剩余部分