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