一、redis简介

redis是一个开源的高性能键值对数据库:本质上是数据结构服务器或者是数据结构数据库

特点:

  1、共享内存

如果有自己的线程可以读list,如果外界还有一个程序都上面的list,那显然都不到的,但是redis是可以的

2、持久化

因为有上面的两个特点,解决了编程语言无法解决的问题,所以redis才会广受追捧

历史和发展

2008年,意大利的一家创业公司Merzia推出了基于MySql的网站实时统计系统LLOOGG,然而没过多久,该公司的创始人Salvatore Sanfilippo便开始对mysql的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,09年完成,这个数据库就是redis,并在同一年将redis开源发布,Salvatore Sanfilippo自己也没想到,短短的几年时间,redis就拥有了庞大的用户群体。Hacker News在12年发布一份数据库使用情况调查,结果显示有12%公司在使用redis,国内如新浪、知乎,国外如github、Stack Overflow都是redis的用户

特性:

  a、存储结构上的特点  允许其他应用通过TCP协议读取字典中的内容

  1、字符串类型

   2、散列类型 (字典)

  3、列表类型

  4、集合类型

   5、有序集合类型  复杂度(logN)

b、内存存储和持久化

redis数据库中的所有数据都 存储在内存中(unicode)由于内存的读写速度远快于硬盘,redis可以在一秒内读写超过十万个键值

redis将数据存储在内存中也有问题,如程序退出后内存中的数据会丢失,不过redis提供了持久化的功能,即将可以内存中的数据异步写入到硬盘中,同时不影响继续提供服务

c、功能丰富(应用场景)

1、作为database

2、cache

3、queue(message broker)

4、redis可以做MQ,(如果数据太大,不建议)常见的MQ有Rabbitmq,ActiveMQ,RocketMQ

d、简单稳定

1、语法简单(get,set)  (命令只有一百多个)

2、稳定,redis是使用c语言开发

redis和memcached

redis在性能上是单线程模型(很少用多线程),Memcached支持多线程,所以在多核服务器上后者的性能更高一些,但是redis在绝大部分场合下性能都不会成为瓶颈

作为缓存系统,redis还可以限定数据占用的最大内存空间,在数据达到空间限制后,可以按照一定的规则自动淘汰不需要的键

除此之外,redis的列表类型键还可以实现队列,并且支持阻塞式读取,可以很容易的实现一个高性能的优先级队列,在更高层面上,redis还支持“发布订阅”的消息模型

三、安装redis

Installation

Download, extract and compile Redis with:

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

$ tar xzf redis-4.0.1.tar.gz

$ cd redis-4.0.1

$ make

出现上面就是安装成功

之后下面是redis简单的使用

The binaries that are now compiled are available in the src directory. Run Redis with:

$ src/redis-server

You can interact with Redis using the built-in client:

$ src/redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

安装小结:

1、redis 默认采用6379的端口

2、

redis-server redis服务器

redis-cli  redis的客户端

redis-sentinel   做双击热备

redis-benchmark 性能优化

redis-check-aof  AOF文件修复工具

redis-check-dump   RDB文件检查工具

小实例

[root@localhost redis-4.0.1]# src/redis-cli

127.0.0.1:6379> set name pyrene

OK

127.0.0.1:6379> get name

"pyrene"

本系列环境:

Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

redis-4.0.1

redis 第一篇的更多相关文章

  1. 15天玩转redis —— 第一篇 开始入手

    双十一终于还是过去了,我负责的mongodb由于做了副本集,最终还是挺过去了,同事负责的redis,还是遗憾的在早上8点左右宕机了,然后大家就是马不停 蹄的赶往公司解决问题,因为我对redis也不是很 ...

  2. Redis第一篇(Redis单机版本安装及启动)

    安装: 1 2 3 4 5 [root@M2_Redis1 ~]# yum install gcc gcc-c++     (安装依赖) [root@M2_Redis1 tools]# wget ht ...

  3. redis第一篇--综述

    1 redis里边有数据库的概念.可分为1-255这些表.在存储或者查找的时候要指明. redis_sentinel 集群里边封装成了namespace这样的概念.与db是不一样的.

  4. 【原】Spring整合Redis(第一篇)—SDR简述

    1.SDR说明 Spring Data Redis(SDR),是SpringFramework提供的一套简化访问Redis的API,是对Jedis的又一层封装. SDR集成了Jedis,JRedis, ...

  5. .net core工具组件系列之Redis—— 第一篇:Windows环境配置Redis(5.x以上版本)以及部署为Windows服务

    Cygwin工具编译Redis Redis6.x版本是未编译版本(官方很调皮,所以没办法,咱只好帮他们编译一下了),所以咱们先下载一个Cygwin,用它来对Redis进行编译. Cygwin下载地址: ...

  6. PHP 性能分析第一篇: Xhprof & Xhgui 介绍

    [前言]这是国外知名博主 Davey Shafik所撰写的 PHP 应用性能分析系列的第一篇,阅读第二篇可深入了解 xhgui,第三篇则关注于性能调优实践. 什么是性能分析? 性能分析是衡量应用程序在 ...

  7. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  8. PHP 性能分析第一篇: Intro to Xhprof & Xhgui

    [前言]这是国外知名博主 Davey Shafik所撰写的 PHP 应用性能分析系列的第一篇,阅读第二篇可深入了解 xhgui,第三篇则关注于性能调优实践. 原文链接如下: https://blog. ...

  9. Redis分布式篇

    Redis分布式篇 1 为什么 需要 Redis 集群 1.1 为什么需要集群? 1.1.1 性能 ​ Redis 本身的 QPS 已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响. ...

随机推荐

  1. java blob

    package net.qysoft; import java.io.File;import java.io.FileOutputStream;import java.sql.Blob;import ...

  2. poj 2942(点双连通+判奇圈)

    题目链接:http://poj.org/problem?id=2942 思路:我们对于那些相互不憎恨的骑士连边,将每次参加会议的所有人(不一定是整个骑士团,只需人数>=3且为奇数)看做一个点双联 ...

  3. 转载:DenseNet算法详解

    原文连接:http://blog.csdn.net/u014380165/article/details/75142664 参考连接:http://blog.csdn.net/u012938704/a ...

  4. PYTHON --WebAPP项目转载(廖雪峰) -- Day 1 -- 搭建开发环境

    Day 1 - 搭建开发环境   搭建开发环境 首先,确认系统安装的Python版本是3.5.x: $ python3 --version Python 3.5.1 然后,用pip安装开发Web Ap ...

  5. C++编译过程与内存空间

     为什么须要知道C/C++的内存布局和在哪能够能够找到想要的数据?知道内存布局对调试程序很有帮助,能够知道程序运行时,究竟做了什么,有助于写出干净的代码.本文的主要内容例如以下: 源文件转换为可运 ...

  6. Android自动化测试工具之—UiAutomator环境配置

    1.相关软件下载: 1)JDK: 1.6及其以上版本 2)Eclipse 3)Android SDK 其中Eclipse和Android SDK已经被Google打包成ADT(Android Deve ...

  7. Uva10972(RevolC FaeLoN)

    题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法+缩点(如果已经是双连通图就直接输出0) #include <iostream> ...

  8. 【BZOJ2199】[Usaco2011 Jan]奶牛议会 2-SAT

    [BZOJ2199][Usaco2011 Jan]奶牛议会 Description 由于对Farmer John的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会.议会以“每头牛 都可以获得自己想要 ...

  9. SharePoint解决方案及开发系列(2)-ECM

    很多次跟客户做咨询及沟通的时候,客户都问SharePoint能做什么?是不是就是做文档管理?为什么要花那么多的钱没SharePoint?高大上? 我上家公司面试的时候,我的那个BOSS面试官有一个问题 ...

  10. 《从零开始学Swift》学习笔记(Day 51)——扩展构造函数

    原创文章,欢迎转载.转载请注明:关东升的博客 扩展类型的时候,也可以添加新的构造函数.值类型与引用类型扩展有所区别.值类型包括了除类以外的其他类型,主要是枚举类型和结构体类型. 值类型扩展构造函数 扩 ...