redis基础知识

来源:互联网 发布:融资知乎 编辑:程序博客网 时间:2024/05/21 17:55

redis是一个基于内存的高性能key-value



1.redis五大基本数据类型:

字符串(string) set get

哈希(hash)hmset hmgetall

链表(list)按照插入顺序可以添加一个元素列表的头部(左边)和尾部(右边)lpush rpush lrange

集合(set)sadd smembers

有序集合(zset)zadd  zrangebyscore

2.redis应用场景

①会话缓存(session cache)。redis提供持久化,可以将内存中的数据保存在磁盘中,

②全页缓存(FPC)即时重启了Redis实例,因为有磁盘持久化,用户也不会看到页面加载速度的下降

③队列   redis在内存存储引擎领域的最大优点是提供list和set操作,使得redis能作为一个良好的消息队列平台来使用。

④排行榜/计数器 redis在内存中对数字进行递增或者递减的操作实现的非常好。集合(set)和有序集合(sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:

当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:

ZRANGE user_scores 0 10 WITHSCORES

⑤发布/订阅

3.MySQL里面有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据

相关知识:redis内存数据集大小上升到一定大小的时候,就会实施数据淘汰策略。redis提供6种数据淘汰策略

①voltile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰

②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(驱逐):禁止驱逐数据



原创粉丝点击