[喵咪Redis]Redis安装与介绍

前言

哈喽大家好啊,这次要来和大家一起来了解学习Redis的一系列技术,最终目的是搭建一个高可用redis集群自动负载灾备,那我们先从最基础的Redis的一些基本介绍以及安装来说起!

附上:

喵了个咪的博客:w-blog.cn

Redis官网:http://redis.io/

Redis命令大全:http://doc.redisfans.com/

Redsi源码地址:http://download.redis.io/releases/

GitHub地址:https://github.com/antirez/redis

1. Redis是什么?解决什么问题?

1.1 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可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

1.2 Redis解决了什么问题呢?

看了上面的介绍已经对Redis有了一个了解,Redis是一个内存缓存Key-Value数据库,Redis的特点决定了他能解决什么问题

  1. 基于内存速度快:适合使用到数据缓存
  2. 数据类型多:可以解决多场景对数据存储的问题
  3. 支持push/pop:可以做订阅等操作
  4. 失效时间:适合做一些与时间相关的操作

但是在我们基本使用中来解决的问题大部分就是第一种

比如一个场景我发送了一个验证码这个手机号需要和这个验证码绑定上,入库当然是一个选择但是不是最好的,我们可以把手机号与验证码的对应关系存放到redis中,然后在验证的时候获取这个验证码进行对比

在比如一个场景,我有一个接口接口是获取所有用户的信息,这个用户信息可能处理起来需要花费20ms,但是更新不频繁不需要实时,我们可以用redis作为这个接口的结果缓存,第一次来获取的时候走正常逻辑,后面都是从redis拿到结果返回,响应时间从20ms缩短到了1ms

当然使用场景还有很多这些就要大家来结合业务来思考解决方案了

2. Redis的安装

简单介绍了一下Redis以及他的使用场景之后我们来看下redis要如何安装呢?

redis推荐环境为Liunx,windows当然也可以装不过不推荐,我们这次也是使用Liunx环境系统为Centos6.5

Redis下载可以从上面Redsi源码地址的下载好的压缩包,推荐2.8以上的版本,因为后面会使用到集群搭建需要使用到Sentinel

//首先下载redis包并且解压
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar zxvf redis-2.8.17.tar.gz
cd redis-2.8.17//进行编译
make
//测试(可以跳过)
make test
//编译安装
make install//redis提供的install脚本可配置生成一个redis端口
cd utils
./install_server.sh
Please select the redis port for this instance: [6379]
Please select the redis config file name [/etc/redis/6379.conf]
Please select the redis log file name [/var/log/redis_6379.log]
Please select the data directory for this instance [/var/lib/redis/6379]
Please select the redis executable path [/usr/local/bin/redis-server]//启动redis,如果端口号是6380那么就是redis_6380
service redis_6379 start

这个时候我们就可以测试一下是否可以连接上redis

//运行redis-cli默认端口号6379如果是6380需要-p 制定端口
redis-cli

在命令行输入info,如果看到了信息,恭喜你已经成功运行起来了redis

更多的命令可以参考上面的redis命令大全

3. 总结

本节先介绍了redis是什么怎么用,下一节将介绍redis的配置中几个比较重要的点,以及怎么配置主从关系,那么本节就到这里了多谢大家的关注!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

PhalApi官网QQ交流群:421032344 欢迎大家的加入!

[喵咪Redis]Redis安装与介绍相关推荐

  1. [喵咪MQ(1)]RabbitMQ简单介绍准备工作

    [喵咪MQ(1)]RabbitMQ简单介绍准备工作 前言 哈喽大家好呀! 看标题就知道我们这次要讲MQ,之前博客中有提到的KafKa理论上来说也是一个优秀的MQ队列软件,比较知名的MQ有:Go语言编写 ...

  2. redis linux 文件位置,Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一 它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  3. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  4. [喵咪Redis]Redis-Sentinel

    [喵咪Redis]Redis-Sentinel 前言 redis-Sentinel 是我们这次来一同学习 redis 的重点,在我们现在的系统已经离不开 redis 的时候 , redis 挂掉了或者 ...

  5. redis数据库NoSQL的介绍安装和使用

    Redis使用 redis介绍 什么是NoSQL NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题.目前一些主流的NOSQL产品: NoSQL数据库的分类 ...

  6. redis应用之安装配置介绍

    一.redis介绍: 1.redis定义: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月1 ...

  7. Redis实战(一):Redis一键安装脚本,Redis 介绍及 NIO 原理介绍

    Redis一键安装并启动的脚本(root用户) 试过用其他权限用户安装会出错,可能是因为命令中没有写 sudo 切换到root,直接执行即可. #!/bin/bash cd /usr/local/ & ...

  8. Redis的安装及原理介绍

    1.文件下载:     wget http://download.redis.io/releases/redis-3.0.0.tar.gz 2.解压及安装     tar xzf redis-3.0. ...

  9. python2.7.5 怎么装redis_python中Redis的简要介绍以及Redis的安装,配置

    简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存的非关系型数据库,他通过key:value的形式存储.有着多种数据结构,如字符串,列表,集合等. 通过Redis我们可以进行 ...

最新文章

  1. 【高德地图开发1】---简介
  2. python上下条形图-Python之多变量叠加条形图
  3. Python基础教程:函数名本质
  4. python异常处理结构_python-异常处理
  5. 编写你的第一个 Django 应用,第 2 部分
  6. Android 精品资源(一) 2018年3月23日 星期五
  7. 物联网智能网关应用系统的一般设计方法
  8. javaioIOException - Cannot run program javac error 2 No such file or direct
  9. 实数是不是python数据类型_python 基本数据类型
  10. JavaScript四大家族之client家族
  11. Python基本操作(二)注释、分隔
  12. 均分纸牌问题——(分治 + 贪心 + 前缀和 + 中位数 + 排序)
  13. java - 建造者模式
  14. 谈谈大型分布式网站架构技术总结
  15. jvm参数-verbose:gc和-XX:+PrintGC有区别?
  16. Time-Series Representation Learning via Temporal and Contextual Contrasting
  17. 定义int数组求所有奇数的和
  18. 微信小游戏上线字节平台超全攻略
  19. 编写Java脚本统计工程代码总行数
  20. Day02—homework

热门文章

  1. 向AlphaGo进化,应用增强式学习技术打造超越人类的围棋机器人
  2. Java Socket实现基于BIO的TCP通信
  3. 服务器系统装usb没有用,服务器全包安装RHEL6.x操作系统USB接口使用异常
  4. 柯尼卡复印机怎么扫描到NAS上
  5. 不动点理论在《A Distributional Perspective on Reinforcement Learning》上的应用
  6. 快刀斩乱麻之 Katana
  7. “EM(Expectation Maximization)算法”初探
  8. 图像追踪、AR识别 、AR.js应用
  9. 在快应用中使用安卓系统已安装浏览器(UC、360等)打开网页的方法
  10. 【硬件#复刻#B站大鱼SPA3D打印机】B站大鱼SPA_V1.1_3D打印机复刻日志