漫畫 | Redis常見面試問題(一)
阿新 • • 發佈:2018-10-24
性能 lse java7 一場 str 歷史 float host import
最近,阿音在為接下來的一場面試做準備,其中的內容包括redis,而且redis是重點內容。
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。它支持存儲的類型包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。
相關知識:redis 內存數據集大小上升到一定大小的時候,就會施行數據淘汰策略(回收策略)。
#!/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的作者和版本歷史:
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發布。
漫畫 | Redis常見面試問題(一)