Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs 等。
其中maxTotal 和业务线程有关,当业务线程想要获取对象时,会首先检测是否有空闲的对象。如果有,则返回一个;否则进入创建逻辑。此时,如果池中个数已经达到了最大值,就会创建失败,返回空对象。对象在获取的时候,有一个非常重要...
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
由于这个应用出问题非常影响用户体验;于是立马让运维保留现场 dump 线程和内存同时重启应用,还好重启之后恢复正常。于是开始着手排查问题。
Redis 是一个高性能的分布式内存数据库,在国内的公司也有着非常广泛的使用场景。因此,在面试过程中,关于 Redis 相关的知识点,也是经常被问到的。...
ThreadLocal是一个关于创建线程局部变量的类。通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。...
两个用户同时修改商品库存表,A、B同时进入,看到的库存都是100,A购买一件把库存修改为99(100-1)。此时B购买两件把库存修改为98(100-2),因为A、B同时读到的库存都是100,B并不能看到A做的库存更新,所以造成B脏读,造成A丢失更新...
当我们试图获取一个不可达属性时(比如private),类会自动调用__get函数。
while语句用法如下。其中else语句为可选语法,在while正常执行结束后执行,但是如果while异常退出、break,return则不执行。
Set集合与Collection基本相同,具有一些不同的行为。Set集合中的元素是无序的,不可以重复添加元素。