什么是redis
redis是完全开源免费的,高性能的key-value内存数据库。整个数据库全加载在内存中进行操作,因为是纯内存操作,所以redis的性能十分优越,每秒能处理超过10w次读写操作,是已知目前最快的key-value数据库。此外,redis支持的数据类型有很多种,
redis支持哪几种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
redis主要消耗什么物理资源
内存
redis全程是什么
remote dictionary server
redis有哪几种数据淘汰策略
noeviction:当内存限制达到,谁也不删除,返回错误。
allkeys-lru:尝试回收最少使用的键,使得新添加的数据有空间存放。
volatile-lru:尝试回收最少使用的键,但仅限于在过期集合的键,使得新添加的数据有空间存放。
allkey-random:回收随机的键,使得新添加的数据有空间存放。
volatile-random:回收随机的键,使得新添加的数据有空间存放,但仅限于过期集合的键。
volatile-ttl:回收在过期集合的键,并且优先回收存货时间较短的键,使得新添加的数据有空间存放。
redis为什么没有windows版
因为Linux版本使用人数多,没有必要,且好考虑兼容性。
一个字符串类型的值最对能占多少内存
512M
其他类型数据,2^32-1 也就是4294967295个。
为什么redis将所有数据放入内存
因为redis为了达到最快的读写速度,并通过异步的方式将数据写入磁盘,
若以redis为了保持高读取速度和数据持久化,必须将数据放入内存,否则I/O流会严重影响其速度。
Mysql中有2000w数据,redis中只存20w数据,如何保证redis中都是热点数据
redis内存数据集大小上升到一定大小的时候,就会实施数据淘汰策略。