Redis的应用场景

(1)         配合关系型数据库做高速缓存

l  高频次,热门访问的数据,降低数据库IO

l  高频次,热门访问的数据,降低数据库IO

(2)         由于其拥有持久化能力,利用其多样的数据结构存储特定的数据

l  最新N个数据 è 通过List实现按自然事件排序的数据

l  排行榜,TopN è 利用zset(有序集合)

l  时效性的数据,比如手机验证码è Expire过期

l  计数器,秒杀 è 原子性,自增方法INCR、DECR

l  去除大量数据中的重复数据è 利用set集合

l  构建队列è利用list集合

l  发布订阅消息系统 è pub/sub模式

1)         Redis官方网站  http://Redis.io

2)         Redis中文官方网站  http://www.Redis.net.cn

安装步骤

1)         下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt

2)         解压命令:tar -zxvf redis-3.2.5.tar.gz

3)         解压完成后进入目录:cd redis-3.2.5

4)         在redis-3.2.5目录下执行make命令

l  运行Make命令时出现错误,提示 gcc:命令未找到 ,原因是因为当前Linux环境中并没有安装gcc 与 g++ 的环境

5)         安装gcc与g++

l  能上网的情况:

yum install gcc

yum install gcc-c++

l  不能上网[建议]

参考Linux课程中<<03_在VM上安装CentOS7>>中的第40步骤

6)         重新进入到Redis的目录中执行 make distclean后再执行make 命令.

7)         执行完make后,可跳过Redis test步骤,直接执行 make install

查看默认安装目录 /usr/local/bin

1)         Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)

2)         Redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲

3)         Redis-check-dump:修复有问题的dump.rdb文件

4)         Redis-sentinel:Redis集群使用

5)         redis-server:Redis服务器启动命令

6)         redis-cli:客户端,操作入口

Redis的启动

1)         默认前台方式启动

l  直接执行redis-server 即可.启动后不能操作当前命令窗口

2)         推荐后台方式启动

l  拷贝一份redis.conf配置文件到其他目录,例如根目录下的myredis目录  /myredis

l  修改redis.conf文件中的一项配置 daemonize 将no 改为yes,代表后台启动

执行配置文件进行启动 执行 redis-server /myredis/redis.conf

客户端访问

1)         使用redis-cli 命令访问启动好的Redis

l  如果有多个Redis同时启动,则需指定端口号访问  redis-cli -p 端口号

测试验证,通过 ping 命令 查看是否 返回 PONG

Redis端口号的由来

端口号来自一位影星的名字 . Alessia Merz

Redis 默认16个库

1)         Redis默认创建16个库,每个库对应一个下标,从0开始.

通过客户端连接后默认进入到0 号库,推荐只使用0号库.

2)         使用命令 select 库的下标  来切换数据库,例如  select 8

Redis的单线程+多路IO复用技术

1)         多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

2)         Memcached 是 多线程 + 锁.

Redis 是 单线程 + 多路IO复用

redis相关命令及应用场景的更多相关文章

  1. Redis相关命令及Jedis的demo(转)

    org.springframework.data.redis.core.RedisTemplate在List操作时的一个注意事项:BoundListOperations boundListOperat ...

  2. Redis相关命令

    一.命令示例 1. KEYS/RENAME/DEL/EXISTS/MOVE/RENAMENX: #在Shell命令行下启动Redis客户端工具. /> redis-cli #清空当前选择的数据库 ...

  3. redis 相关命令

    /etc/init.d/redis-serveredis-cli 进入redis/etc/init.d/redis-server stop /etc/init.d/redis-server start ...

  4. Redis中7种集合类型应用场景&redis常用命令

    Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部 ...

  5. redis五种数据类型和常用命令及适用场景

    一.redis的5种数据类型: 1.基础理解: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) h ...

  6. Redis命令、数据结构场景、配置文件总结

    本文大纲 一.常用数据类型简介二.redis操作命令三.redis配置文件详解四.redis数据类型使用场景 一.常用数据类型简介 redis常用五种数据类型:string,hash,list,set ...

  7. Redis集群维护、运营的相关命令与工具介绍

    Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...

  8. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  9. redis的hash, list, set类型相关命令

    hash相关命令: 1. hset HSET key field value 将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创建并进行hset操作.如果域fiel ...

随机推荐

  1. tomcat——nginx负载均衡

    Tomcat一般应用在这种小型系统中应用非常广泛,是开发调试jsp的首先应用.Tomcat和其他web软甲一样具有解析HTML语言的功能,但是处理效率远不及Apacge和Nginx,所以Tomcat一 ...

  2. log4j.properties和log4j.xml配置

    >>>>1. 概述<<<< 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统 ...

  3. shortcuts 快捷键

    Home » Linux » shortcuts 快捷键 Page Updated  2018-12-12 19:23 shortcuts 快捷键 移动光标 Ctrl – a :移到行首 Ctrl – ...

  4. HTTP的响应码?

    响应头对浏览器来说很重要,它说明了响应的真正含义.例如200表示响应成功了,302表示重定向,这说明浏览器需要再发一个新的请求. l 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览 ...

  5. zepto.js和jquery.js函数比较有什么优点?

    1.Zepto.js 是专门为现代智能手机浏览器退出的 Javascript 框架, 拥有和jQuery相似的语法, 但是和jQuery相比下来, 他有很多优点, 大小方面 , 压缩后的 zepto. ...

  6. Centos7上查看ext4文件系统的实际创建时间

    前提:今日查看nginx日志时发现有报错,说是一些js,css文件找不到,于是想到去实际路径下查看文件是否确实不存在.结果出现下图中报错: 经过别人提醒查看文件的时间,于是看了一下登上服务器是9:52 ...

  7. C++走向远洋——66(十五周阅读程序)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  8. C++走向远洋——26(项目二,2,构造函数与析构函数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:game.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. 使用Pods中使用Swift和Objective-C混编-编译不通过的原因

    iOS开发#使用Pods中使用Swift和Objective-C混编-编译不通过的原因-ld: symbol(s) not found for architecture arm64 问题基本描述 在P ...

  10. 基于均值坐标(Mean-Value Coordinates)的图像融合算法的具体实现

    目录 1. 概述 2. 实现 2.1. 准备 2.2. 核心 2.2.1. 均值坐标(Mean-Value Coordinates) 2.2.2. ROI边界栅格化 2.2.3. 核心实现 2.2.4 ...