前言

这个redis系列的文章将会记录博主学习redis的过程。基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的。

博主在写这个系列是用的是目前最新版本4.0.10,虚拟机装的是4.0.10,为了方便window也安装了(版本3.2.100)。后续命令会采用命令行,jedis和spring集成jedis这三种方式进行操作。

在这片博文的开始,可以先试着问几个问题,带着问题看博文,或许能更有收获。

  1. 什么是redis?
  2. 为什么要使用redis?
  3. 如何搭建redis环境?

什么是redis?

Redis 是开源的(Github地址),采用BSD协议,C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

它支持不同类型的value,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)、基数统计的算法 HyperLogLogs, 位图Bitmaps 。

这些数据的操作不仅仅有设置值和获取值方法,还支持更复杂的操作方式,例如交集、并集、差集等等。

为什么要使用redis

想要知道为什么要使用redis前,需要先知道为什么要用缓存。

为什么要用缓存

当一个应用的数据量或者用户量上来后,如果每一次的查询都去访问数据库,或造成数据库效率变慢甚至崩溃。

而且在大多数应用中都是读多写少的,就可以将这些经常读的数据放到另外一个地方去(也就是缓存),让系统先从这个地方(缓存)获取,获取不到在查询数据库。这样可以大大的减少数据库的压力。

有没有其他的缓存

有,经常与redis做比较的memcache,这里就不比较它们的区别了,有兴趣的可以自己搜索。

我们来看看redis的其它方面

redis特点

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

如何搭建redis环境?

下载

window上的64位redis下载地址https://github.com/MicrosoftArchive/redis/releases

linux 官网地址: https://redis.io/download

目前官网首页提供的版本是4.0.10

Redis版本列表 :http://download.redis.io/releases/

window

将下载下来的文件解压或者安装,目录如下

双击redis-server.exe启动redis服务

双击redis-cli.exe启动redis客户端

linux

用linux命令wget

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

或者从官网下载,然后上传文件到linux上

解压

tar xzf redis-4.0.10.tar.gz

进入redis目录,编译

cd redis-4.0.10
make

启动服务

src/redis-server

或者进入src目录

./redis-server

想要后台启动最后加个&

src/redis-server &

这样启动的话,系统已重启又要重新启动redis服务

我们可以加到系统启动里面,让它开机自启动

注:出现问题 Could not connect to Redis at 127.0.0.1:6379: Connection refused

找到redis目录的redis.conf 文件

修改daemonize nodaemonize yes ,也就是将no改为yes,目的是开启守护线程模式,可以在后台运行

开启客户端

src/redis-cli

或者进入src目录

./redis-cli

在线测试 redis http://try.redis.io/

后续内容

命令介绍
  • Cluster
  • Connection
  • Geo
  • Hashes
  • HyperLogLog
  • Keys
  • Lists
  • Pub/Sub
  • Scripting
  • Server
  • Sets
  • Sorted Sets
  • Streams
  • Strings
  • Transactions
redis事务
Redis的数据持久化
redis主从、哨兵、集群

等等

redis系列:redis介绍与安装的更多相关文章

  1. windows下mongodb基础玩法系列一介绍与安装

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  2. redis 系列1 linux下安装说明

    一. 安装环境 操作系统:centos 7 ,redis版本4.06,客户端windows 7 ,vs2015. 1.1 安装前的条件 yum -y install gcc-c++ 判断是否安装了gc ...

  3. Redis 实践1- redis介绍和安装

    redis是一个key-value存储系统,官方站点 http://redis.io   和memcached类似,但支持数据持久化 支持更多value类型,除了和string外,还支持hash.li ...

  4. redis系列-redis的使用场景

    redis越来越受大家欢迎,提升下速度,做下缓存,完成KPI之利器呀.翻译一篇文章<<How to take advantage of Redis just adding it to yo ...

  5. 初识Redis系列之二:安装及简单使用

    仅介绍windows下的安装 一:下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统平台的 ...

  6. redis系列-redis的持久化

    redis对数据的持久化有两种方式:RDB(快照保存)和AOF(命令日志). RDB 介绍:将内存快照保存到磁盘,dump.rdb二进制文件 触发:满足“N 秒内数据集至少有 M 个改动”,或使用sa ...

  7. redis系列-redis的连接

    Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list ...

  8. RabbitMQ系列随笔——介绍及安装

    一.RabbitMQ介绍 RabbitMQ是由erlang开发的AMQP(Advanced Message Queuing Protocol)的开源实现.他是高级消息队列协议,是应用层协议的一个开放标 ...

  9. Redis系列---redis简介01

    一. 本章我们将用简短的几句话来帮助你快速的了解什么是redis,初学者不必深究 1 Redis简介 Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写 ...

  10. percona-toolkit系列之介绍和安装(mysql复制工具)

    percona-toolkit使用教程(一) 一.percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统 ...

随机推荐

  1. 在Delphi中使用ShellExecute(handle, 'open', PChar(fname),nil, nil, SW_HIDE)函数应注意的问题

    在Delphi中使用ShellExecute(handle, 'open', PChar(fname),nil, nil, SW_HIDE)函数应注意的问题: 一.对一般vcl程序及isapi dll ...

  2. Hadoop-HA配置详细步骤

    1. HA服务器配置 对hdfs做高可用 1.1服务器详情 服务器:centos7 Hadoop:2.6.5 Jdk:1.8 共四台服务器 192.168.1.111 node1 192.168.1. ...

  3. Codeforces Round #256 (Div. 2) E. Divisors 因子+dfs

    E. Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  4. hdoj1001--Sum Problem

    Problem Description Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).In this problem, y ...

  5. ajax技术返回json如何处理

    json只是一种文本字符串. Smarty是一个使用PHP写出来的模板引擎. ajax如何处理json数据格式 ①json的格式如下: "{属性名:属性值,属性名:属性值}". 因 ...

  6. AngularJS学习笔记(四) 自定义指令

    指令(directive)是啥?简单来说就是实现一定功能的XXX...之前一直用的ng-model,ng-click等等都是指令.当我有一个ng没提供的需求的时候,就可以自定义个指令.指令的好处显而易 ...

  7. Linux-NoSQL之Redis(二)

    一.Redis配置文件详解 1.通用配置 daemonize no  # 默认情况下,redis并不是以daemon形式来运行的.通过daemonize配置项可以控制redis的运行形式 pidfil ...

  8. 201621123014《Java程序设计》第三周学习总结

    <Java程序设计>第三周实验报告 1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识 ...

  9. BEC listen and translation exercise 49

    Astronaut Sounds Alarm on Asteroids If a big asteroid with Earth's name on it were to reach us unimp ...

  10. Struts2 - 异常处理: exception-mapping 元素

    异常处理: exception-mapping 元素 在action方法中添加 int i=1/0; 请求action后,结果为: 在struts.xml中添加异常处理:exception-mappi ...