背景
技术的更新迭代,是程序员最最最头大的事,总是在每个网络角落中有感慨声:学不动啦;
其实新技术并不是凭空而出,而是随着业务推进、数据驱动、技术积累促使开发者的不断探索和实践,最终横空出世--“新技术”;
对于项目而言,并不是一开始就能把所有的需求、架构和性能都做到极致,而是通过一次次的迭代;最经典的的案例就是淘宝网的演变,从最初的单体程序到现在人人都效仿的大项目,其经历了无数次的变迁和优化(“淘宝技术这十年”记录了一次次的优化过程);
由于互联网的高并发、高可扩、高性能需求(所谓的互联网三高),促使了很多非关系型数据应用和发展,如Key-Value数据库(Redis、Oracle BDB等)、列存储数据库(HBase等)、文档型数据库(MongoDb等)、图形数据库(Infinite Graph、Neo4J等),各种非关系数据库都在各自领域扮演极其重要的角色; 其中Redis成为Web2.0数据缓存的利器,同时也成为小伙伴们必知必会的技能。
初识Redis
什么是Redis?
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
百度百科
简单的理解就是一个Key-Value数据库,即字典形式存储,归类于NoSql(通常理解为“Not Only SQL”)数据库;官网地址如下:
英文版:https://redis.io/
中文版:http://www.redis.cn/
为什么要用Redis?
- 开源:除了使用没障碍,开源会促进其发展;
- 快:操作数据快,性能高;
- 扩展性好:根据需要很容易进行扩展,集群、主从复制等;
- 比较活跃:文档详细,版本维护及时,社区讨论都很活跃;
默认端口6379的背后故事
6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字;Redis 作者 Antirez 早年看电视节目,觉得 Merz 在节目中的一些话愚蠢可笑,Antirez 喜欢造“梗”用于平时和朋友们交流,于是造了一个词 "MERZ",形容愚蠢,所以当要为Redis选择一个数字端口的时候就使用6379(这个缘由不必抬杠,当做了解即可,毕竟不影响我们学习和使用)。
运行环境和版本
官方推荐在Linux环境中进行部署使用。
以上大概意思就是推荐使用Linux,对于Windows没有提供官方支持;平时使用的Windows版本是微软提供的,而且已经好久没维护。
Redis 使用标准版本标记进行版本控制:major.minor.patchlevel(主版本.****次版本.优化版本)。偶数的版本号表示稳定的版本, 例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的版本号用来表示非标准版本,例如2.9.x是非稳定版本,它的稳定版本是3.0。
整理大概内容
概述->数据类型及应用场景->事务->配置文件详解->持久化->发布订阅->主从复制->哨兵模式->Lua脚本操作->布隆过滤器->其他扩展(缓存雪崩、穿透、数据一致性等)
Windows安装
噗,说好的推荐Linux中运行的,好吧,我承认,这里要偷个懒,为了方便,接下来的学习打算在Windows进行,后续还是会切换到Linux的。当然,实际部署还是推荐Linux。
-
下载
windows下载地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
-
拷到自己想放的文件夹,然后解压;
-
先打开redis-server.exe,再打开redis-cli.exe,测试是否连接成功
安装如此简单,知道我偷懒的原因了吧,哈哈哈~~~Linux环境的安装后续再补上。
最后
对于Redis的使用,存在以下公认现象:
- 所有开发者中,80%会用,20%还没用过;
- 在使用过程中,80%只会string,20%应用熟练;
- 在熟练应用的开发者中,80%只会常规操作,20%高级应用;
当然,每个人都在进步,关注“Code综艺圈”一起学习,我们一起努力成为最后一个20%的人。
一个被程序搞丑的帅小伙,关注"Code综艺圈",识别关注跟我一起学~~~
撸文不易,莫要白瞟,三连走起~~~~