1. mysql中事务特性以及隔离机制(选做) ACID 脏读,不可重复读,幻读 不同隔离级别解决什么问题(实际操作验证) 2. redis: string,list, set, zset, hash,bitmaps, hyperloglog, gepspatial 所有的数据类型:每一个指令都要有一个样例
1. MySQL中的事务特性是由ACID(原子性、一致性、隔离性和持久性)组成的。脏读是在一个事务中读取到了另一个未提交事务的数据,不可重复读是指在同一个事务内,多次读取同一数据却得到了不同结果,幻读则是指在一个事务内多次查询,却发现了不同数量的行。
不同的隔离级别解决了不同问题:READ UNCOMMITTED允许脏读,READ COMMITTED解决了脏读,但可能会产生不可重复读和幻读,REPEATABLE READ解决了脏读和不可重复读,但可能会产生幻读,而SERIALIZABLE通过强制事务串行执行,解决了脏读、不可重复读和幻读问题。
以上是每个数据类型的简单样例指令:
2. Redis支持多种数据类型:
- String:示例指令 - SET key_name value
- List:示例指令 - LPUSH mylist "one",LRANGE mylist 0 -1
- Set:示例指令 - SADD myset "one",SMEMBERS myset
- Sorted Set (ZSet):示例指令 - ZADD myzset 1 "one",ZRANGE myzset 0 -1 WITHSCORES
- Hash:示例指令 - HSET myhash field1 "value1",HGET myhash field1
- Bitmaps:示例指令 - SETBIT mybitmap 0 1,GETBIT mybitmap 0
- HyperLogLog:示例指令 - PFADD myhyperloglog "elem1" "elem2",PFCOUNT myhyperloglog
- Geospatial:示例指令 - GEOADD mygeospatial 13.361389 38.115556 "Palermo",GEORADIUS mygeospatial 15 37 200 km