摘要:
进程与线程的理解: 进程:程序的一次执行过程,或是正在运行的一个程序。进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。 进程可以细 阅读全文
posted @ 2021-10-09 14:19
LinAlex
阅读(207)
评论(0)
推荐(0)
摘要:
| Collection:单列集合,用来存储一个一个的对象 | List:有序、可重复 | ArrayList 主要实现类,线程不安全,效率高,使用Object[] elementData存储 | LinkedList 频繁插入、删除操作,效率比ArrayList高,使用双向链表存储 | Vecto 阅读全文
posted @ 2021-10-09 14:15
LinAlex
阅读(26)
评论(0)
推荐(0)
摘要:
分布式缓存 缓存的淘汰策略 数据过期策略:惰性删除、定期删除 惰性删除:访问一个key时,Redis先检查它的过期时间,若发现过期立即删除 定期删除:将设置了过期时间的key放入一个独立字典中;对该字典进行每秒10次的扫描,并删除扫描到的已过期的key; 扫描采用贪心策略,每次随机2 阅读全文
posted @ 2021-10-09 14:10
LinAlex
阅读(66)
评论(0)
推荐(0)
摘要:
RDB持久化 默认采用的持久化方式,以快照的形式将数据持久化到硬盘中,主要通过bgsave命令来触发,手动自动均可。 AOP持久化 以独立日志的方式,记录每次写入的命令;实时性好,在保证性能的前提下,可以做到最多丢失1秒的数据;比RDB的文件体积大,可以通过重写机制压缩AOF文件的大小。 R 阅读全文
posted @ 2021-10-09 10:35
LinAlex
阅读(35)
评论(0)
推荐(0)
摘要:
Redis的网络IO和键值对读写是由一个线程来完成的,但Redis的其他功能如持久化、集群的数据同步等,则依赖其他线程来执行。 单线程可以简化数据结构和算法的实现,并且可以避免线程切换和竞争造成的消耗,但若某个命令的执行时间过长,则会造成其他命令的阻塞。 Redis的大部分操作都是基于内存的,采用的 阅读全文
posted @ 2021-10-09 10:29
LinAlex
阅读(45)
评论(0)
推荐(0)
摘要:
事务机制 Redis提供的是一种简单的事务,它不支持回滚,且通常不支持ACID中的D。 multi:使客户端进入事务模式,此时客户端的所有命令会被顺序放入一个事务队列中; exec:执行当前事务,即将事务队列中的命令批量发送给服务器; discard:清空事务队列中已有的命令,并让客户端 阅读全文
posted @ 2021-10-09 10:16
LinAlex
阅读(28)
评论(0)
推荐(0)
摘要:
编码机制 String int 条件:数据为整型值,并可用long型表示。 结构:long。 raw 条件:长度大于32字节的字符串。 结构:SDS(简单动态字符串),分配两块内存空间,分别存放对象元数据和字符串值。 embstr 条件:长度小于等于32字节的字符串。 结构: 阅读全文
posted @ 2021-10-09 09:24
LinAlex
阅读(61)
评论(0)
推荐(0)
摘要:
数据类型 String 字符串,最多存储512M数据。 常用命令: set key value 设置值 get key 取值 getrange key start end 获取指定key中字符的子串 Hash 哈希,一个 hash 可以存储 232 - 1 键值对。 常用命令: hset k 阅读全文
posted @ 2021-10-09 09:07
LinAlex
阅读(35)
评论(0)
推荐(0)
浙公网安备 33010602011771号