Redis

一、基础 1、数据类型 Strings Lists Sets Sorted Sets Hashes Bitmaps HyperLogLogs 2、功能 pub/sub stream lua 3、数据持久化 RDB:在指定的时间间隔能对你的数据进行快照存储。 AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。 4、过期策略 定时过期 每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。

Continue reading

Mysql-事物

隔离级别 a、可串行化 最高的隔离级别。在基于锁机制并发控制的DBMS实现可串行化,要求在选定对象上的读锁和写锁保持直到事务结束后才能释放。在SELECT 的查询中使用一个“WHERE”子句来描述一个范围时应该获得一个“范围锁”(range-locks)。这种机制可以避免“幻读”(phantom reads)现象。当采用不基于锁的并发控制时不用获取锁。但当系统探测到几个并发事务有“写冲突”的时候,只有其中一个是允许提交的。这种机制的详细描述见“快照隔离” b、可重复读 在可重复读(REPEATABLE READS)隔离级别中,基于锁机制并发控制的DBMS需要对选定对象的读锁(read locks)和写锁(write locks)一直保持到事务结束,但不要求“范围锁”,因此可能会发生“幻影读”。 c、提交读 在提交读(READ COMMITTED)级别中,基于锁机制并发控制的DBMS需要对选定对象的写锁一直保持到事务结束,但是读锁在SELECT操作完成后马上释放(因此“不可重复读”现象可能会发生,见下面描述)。和前一种隔离级别一样,也不要求“范围锁”。 d、未提交读 未提交读(READ UNCOMMITTED)是最低的隔离级别。允许“脏读”(dirty reads),事务可以看到其他事务“尚未提交”的修改。 问题 a、更新丢失(Lost Update)

Continue reading

MemoryCache

ubuntu install 官网 概念 slab page chunk 1.1、存储命令语法格式 {set|add|replace|append|prepend|cas} key flags exptime bytes {unique_cas_token:CAS} [noreply] # 换行 value 1.2、字段说明 key:键值

Continue reading

Mysql-索引

索引的作用,是提高查询速度。在MySQL中索引的实现主要是Btree|Hash,不同的数据库驱动使用了不同的实现方式。 截图原文地址 KEY | INDEX KEY is normally a synonym for INDEX. The key attribute PRIMARY KEY can also be

Continue reading

Mysql-整形INT[(M)]问题

问题描述 定义语法:INT[(M)] [UNSIGNED] [ZEROFILL] TINYINT[(M)] [UNSIGNED] [ZEROFILL] 示例:INT(10) TINYINT(1) 那么这个M是啥含义了。官网的解释概括起来就是:查询结果集中该字段显示的最大长度,如果字段的取值范围超过该限制,那么该字段正常完整显示。 问题验证 a.创建测试表 CREATE TABLE `tbl_number` ( `id` INT AUTO_INCREMENT NOT

Continue reading