哈喽大家好啊,这次要来和大家一起来了解学习redis的一系列技术,最终目的是搭建一个高可用redis集群自动负载灾备,那我们先从最基础的redis的一些基本介绍以及安装来说起!
附上:
摘录百度百科介绍
redis是一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,redis支持丰富的value类型如string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作.
redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了java,c/c++,c#,php,javascript,perl,object-c,python,ruby,erlang等客户端,使用很方便。
redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
看了上面的介绍已经对redis有了一个了解,redis是一个内存缓存key-value数据库,redis的特点决定了他能解决什么问题
基于内存速度快:适合使用到数据缓存
数据类型多:可以解决多场景对数据存储的问题
支持push/pop:可以做订阅等操作
失效时间:适合做一些与时间相关的操作
但是在我们基本使用中来解决的问题大部分就是第一种
比如一个场景我发送了一个验证码这个手机号需要和这个验证码绑定上,入库当然是一个选择但是不是最好的,我们可以把手机号与验证码的对应关系存放到redis中,然后在验证的时候获取这个验证码进行对比
在比如一个场景,我有一个接口接口是获取所有用户的信息,这个用户信息可能处理起来需要花费20ms,但是更新不频繁不需要实时,我们可以用redis作为这个接口的结果缓存,第一次来获取的时候走正常逻辑,后面都是从redis拿到结果返回,响应时间从20ms缩短到了1ms
当然使用场景还有很多这些就要大家来结合业务来思考解决方案了
简单介绍了一下redis以及他的使用场景之后我们来看下redis要如何安装呢?
redis推荐环境为liunx,windows当然也可以装不过不推荐,我们这次也是使用liunx环境系统为centos6.5
redis下载可以从上面redsi源码地址的下载好的压缩包,推荐2.8以上的版本,因为后面会使用到集群搭建需要使用到sentinel
这个时候我们就可以测试一下是否可以连接上redis
在命令行输入info,如果看到了信息,恭喜你已经成功运行起来了redis
更多的命令可以参考上面的redis命令大全
本节先介绍了redis是什么怎么用,下一节将介绍redis的配置中几个比较重要的点,以及怎么配置主从关系,那么本节就到这里了多谢大家的关注!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
phalapi官网qq交流群:421032344 欢迎大家的加入!