0909

1.Redis的数据类型?

Redis支持五种数据类型:

string(字符串),最基本的数据类型,一个key对应一个value

hash(哈希),是一个键值对集合,特别适合存储对象

list(列表),简单的字符串列表

set(无序集合),是通过哈希表实现的

sorted set(有序集合)

2.Redis的持久化机制是什么?

Redis提供了两种持久化机制RDB(RDBRedis DataBase)和AOF机制

1.RDB(RDBRedis DataBase持久化方式):是指用数据集快照的方式半持久化模式,记录redis数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。

优点:

1、只有一个文件dump.rdb方便持久化

2、容灾性好,一个文件可以保存到安全的磁盘

3、性能最大化

缺点:

1、数据安全性低。RDB是间隔一段时间进行持久化,如果持久化之间redis发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候。

2.AOF(Append_only file)持久化方式:是指所有的命令行记录以redis命令请求协议的格式完全持久化存储,保存为aof文件

优点:

​ 1.数据安全,aof持久化可以配置append属性,每惊醒一次命令操作就记录到aof文件中一次。

​ 2.通过append模式写文件,及时中途服务器宕机,可以通过redis_check_aof工具解决数据一致性问题

​ 3.AOF机制的rewrite模式。AOF文件没被rewrite之前

缺点:

​ 1.AOF文件比RDB文件大,且恢复速度慢

​ 2.数据集大的时候,比rdb启动效率低

3.java中++操作符是线程安全的吗?

不是线程安全的操作,它涉及到多个指令,如读取变量值,增加,然后存储会内存,这个过程可能会出现多个线程交差。

java中++操作符分为三个阶段:

​ 1.把变量读取到内存,2.变量增加,3.变量存储回内存

4.hashtable和hashmap的区别和联系?

1.hashtable是线程安全的,同样效率比较低,然而hashmap不是线程安全的,效率也比较高

2.hashtable是跟jdk一块出来,而hashmap是在jdk1.2进行的版本迭代

3.hashtable既不支持Null key也不支持Null value,HashMap支持Null key,也支持Null value。

4.初始容量大小和每次扩充容量大小的不同,Hashtable默认的初始大小为11,之后每次扩充,容量变为原来的2n+1.hashmap的初始化大小为16,之后每次扩充,容量变为原来的2倍。创建时,如果给定了容量初始值,那么hashtable会直接使用你给定的大小,而会将其扩充为2的幂次方大小。也就是说hashtable会尽量使用素数,奇数。而则总是使用2的幂作为哈希表的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值