数据库
图 南
这个作者很懒,什么都没留下…
展开
-
redis 的主从复制和哨兵?
主从复制 定义 1、一个Redis服务可以有多个该服务的复制品,这个Redis服务成为master,其他复制品成为slaves 2、master会一直将自己的数据更新同步给slaves,保持主从同步 3、只有master可以执行写命令,slave只能执行读命令 作用 1,分担了读的压力(高并发),提高服务能力 2,避免单点问题 【如果系统中 一个进程挂掉,整个系统挂掉,即为单点问题】 原理 从服务器执行客户端发送的读命令,比如GET、LRANGE、SMEMMBERS、HGET、ZRANG..原创 2020-08-07 10:54:24 · 106 阅读 · 0 评论 -
内存型数据库也能做到持久性, 来看看 redis 的持久性
持久化定义** 将数据从掉电易失的内存放到永久存储的设备上 为什么需要持久化 因为所有的数据都在内存上,所以必须得持久化 RDB模式(默认开启) 1、保存真实的数据 2、将服务器包含的所有数据库数据以二进制文件的形式保存到硬盘里面 3、默认文件名 :/var/lib/redis/dump.rdb RDB 的缺点 1、创建RDB文件需要将服务器所有的数据库的数据都保存起来,这是一个非常消耗资源和时间的操作,所以服务器需要隔一段时间才创建一个新的RDB文件,也就是说,创建RDB文件不能执行的过于频原创 2020-08-07 10:52:36 · 374 阅读 · 0 评论 -
redis 的事务处理?
redis的事务 - 不保证原子性,保证一定的隔离性 MULTI 开启事务后,命令进入服务端的命令队列,当服务端输入 exec这个指令时,redis逐一执行命令队列的redis命令。 1、MULTI # 开启事务 mysql begin 2、命令1 # 执行命令 3、命令2 ... ... 4、EXEC # 提交到数据库执行 mysql commit 4、DISCARD # 取消事务 mysql 'rollback' redi原创 2020-08-07 10:50:37 · 86 阅读 · 0 评论 -
你了解python 字典的实现原理和 redis 的哈希原理吗?
python 字典: 当我们 使用 d = {} 创建字典时,其实python是创建了一个长度为8的数组。 当我们插入key,也就是创建键值对时,给字典的key计算一个哈希值,将哈希值转换成十进制后,通过与8进行取余操作,计算出这个key的位置。 python 字典的哈希碰撞: 例:d['a'] = 123 d['z'] = 123 当我们给这两个key寻找位置时,假如算出来的位置值一样,hash('a')=4 hash('z')=4 此时就出现了哈希碰撞。 解决方案: pytho..原创 2020-08-07 10:49:13 · 184 阅读 · 0 评论 -
redis 过期 key 的删除策略
redis 过期 key 的删除策略 1,主动出击 1,将带过期时间的key存到一个独立的字典中 默认每100毫秒进行一次过期扫描 1,在过期字典中随机 20个 key 2,检查过期时间,删除已过期的key 3, 如果过期key 比例 超过 1/4 重复 1-3 默认25ms 超时时间, 避免扫描卡死 问题: 大量key同时过期,redis会有卡顿现象 解决方原创 2020-08-07 10:42:04 · 134 阅读 · 0 评论 -
redis 数据库这么强大,来看看它有哪些应用场景
redis 的使用场景? redies 的使用场景主要与它的五大类型相关,具体如下: 类型 特点 使用场景 string 简单key-value类型,value可为字符串和数字 常规计数(微博数, 粉丝数等功能) hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象 存储部分可能需要变更的数据(比如用户信息) list 有序可重复列表 消息队列等(生产者消费者模型) set 无序不可重复列表 存储并计算关系(如微博,关注人或粉丝存放在集合原创 2020-08-06 09:34:51 · 104 阅读 · 0 评论 -
mysql 怎么限制 ip 访问?
grant all privileges on . to "数据库中用户名“ @"ip地址" identified by "数据库密码";原创 2020-08-06 09:32:37 · 807 阅读 · 0 评论 -
mysql 的两个存储引擎你了解吗?
mysql 的存储引擎? 主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下: InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一 些列增删改中只要哪个出错还可以回滚还原,而 MyISAM 就不可以了; InnoDB 支持行级锁,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。MyISAM 支持表级锁。在锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许 InnoDB 支持外键,My原创 2020-08-06 09:31:37 · 103 阅读 · 0 评论 -
事务的四大特性,简单粗暴
事务的四大特性 原子性(atomicity) 一个事务必须视为一个不可分割的最小工作单元,对于一个事务来说,不可能只执行其中的一部分操作,整个事务中的所有操作要么全部提交成功,要么全部失败回滚 一致性(consistency) 事务完成时,数据必须处于一致状态,数据的完整性约束没有被破坏。 隔离性(isolation) 数据库允许多个并发事务同时对其数据进行读写和修改的能力,而多个事务相互独立。隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。 持久性(durabil原创 2020-08-06 09:30:17 · 121 阅读 · 0 评论 -
来聊聊 数据库的 设计范式
数据库的设计范式 第一范式:字段是最小的的单元不可再分。 第二范式:满足第一范式,表中的字段必须完全依赖于全部主键而非部分主键。 第三范式:满足第二范式,非主键外的所有字段必须互不依赖,即非主键字段不能有传递性依赖。 反范式:必要的冗余可增加查询效率 【分类表记录 分类总销售数】 必要的冗余可以还原数据真实性 【订单 冗余地址详细信息】 ...原创 2020-08-06 09:26:11 · 88 阅读 · 0 评论