最近,在为接下来的一场面试做准备,其中的内容包括redis,而且redis是重点内容。

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

漫画 | Redis常见面试问题_第1张图片

图片描述(最多50字)
漫画 | Redis常见面试问题_第2张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第3张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第4张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第5张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第6张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第7张图片

图片描述(最多50字)
漫画 | Redis常见面试问题_第8张图片

图片描述(最多50字)
漫画 | Redis常见面试问题_第9张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第10张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第11张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第12张图片

图片描述(最多50字)
漫画 | Redis常见面试问题_第13张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第14张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第15张图片

图片描述(最多50字)

相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略(回收策略)。
漫画 | Redis常见面试问题_第16张图片

图片描述(最多50字)

#!/usr/bin/env python3
import redis
import sys
import time
r = redis.StrictRedis(host=’127.0.0.1′, port=6379, db=0)
try:
id = sys.argv[1]
except:
print(‘input argument error’)
sys.exit(0)
if r.llen(id) >= 5 and time.time() – float(r.lindex(id, 4)) <= 3600:
print(“you are forbidden logining”)
else:
print(‘you are allowed to login’)
r.lpush(id, time.time())

login_func()

漫画 | Redis常见面试问题_第17张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第18张图片

图片描述(最多50字)

漫画 | Redis常见面试问题_第19张图片

图片描述(最多50字)

下面拓展了解一下Redis的作者和版本历史:

Redis的作者,叫SalvatoreSanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。他使用的网名是antirez。

2012年08月02日

Redis2.4.16 小更新版本 NoSQL;

2012年08月31日

Redis2.4.17 小更新版本 NoSQL;

2012年11月7日Redis 2.6.3 发布,

高性能K/V服务器;

2013年4月30日Redis2.6.13 发布,

高性能K/V服务器;

2013年11月25日,Redis2.8.1发布;

2015年2月,Redis3.0.0发布。