Redis支持哪幾種數據類型?
String、List、Set、Sorted Set、hashes
一個字符串類型的值能存儲最大容量是多少?
512M
Redis與Memcached的區別與比較
- Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。memcache支持簡單的數據類型,String。
- Redis支持數據的備份,即master-slave模式的數據備份。
- Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用,而Memecache把數據全部存在內存之中
- redis的速度比memcached快很多
- Memcached是多線程,非阻塞IO復用的網絡模型;Redis使用單線程的IO復用模型。
redis有哪些數據淘汰策略
redis 提供 6種數據淘汰策略:
- volatile-lru:從已設置過期時間的數據集(server.db[i].expires)中挑選最近最少使用的數據淘汰
- volatile-ttl:從已設置過期時間的數據集(server.db[i].expires)中挑選將要過期的數據淘汰
- volatile-random:從已設置過期時間的數據集(server.db[i].expires)中任意選擇數據淘汰
- allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰
- allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰
- no-enviction(驅逐):禁止驅逐數據
Redis事務
Redis Cluster集群架構,不同的key是有可能分配在不同的Redis節點上的,在這種情況下Redis的事務機制是不生效的。其次,Redis事務不支持回滾操作
Redis的多數據庫機制
Redis支持多個數據庫,并且每個數據庫的數據是隔離的不能共享,單機下的redis可以支持16個數據庫(db0 ~ db15) ,在Redis Cluster集群架構下只有一個數據庫空間,即db0
Redis性能優化
- Master最好不要做任何持久化工作,如RDB內存快照和AOF日志文件
- 如果數據比較重要,某個Slave開啟AOF備份數據,策略設置為每秒同步一次
- 為了主從復制的速度和連接的穩定性,Master和Slave最好在同一個局域網內
- 盡量避免在壓力很大的主庫上增加從庫
- 盡可能使用散列表(hashes)