1、锁的分类
互斥锁:
(1)、互斥锁:synchronized 会自动自动释放锁,只要线程运行的代码块超出synchronized的语句块范围,锁就自动释放!
(2)、lock对象必须调用lock的对象的unlock()方法才能释放锁,使释放锁更自由
读写锁:读写锁就使为了提供性能使用的,主要是读和写互斥。
2、redis过期时间策略
三种过期策略:1、定时删除,在设置过期时间时候,为key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。
优点:保证内存被尽快释放。缺点是消耗内存。
2、懒汉式删除:key过期时候不删除,每次使用时候去验证是都过期,过期了返回null。优点:对cup的占用时间比较少。缺点:若到期后很久没 使用,最后可能造成内存泄漏。
3、定期删除:每隔一段时间执行一次删除操作。优点:减少了对cpu的占用时间。
redis采用惰性删除和定期删除。memcatched采用的是惰性删除。