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. Python不使用元类创建缓存实例

    问题 当创建类实例时我们想返回一个缓存引用,让其指向上一个用同样参数(如果有的话)创建出来的类实例. 这个问题常常出现在当我们想确保针对一组输入参数只会有一个类实例存在时. 解决方法: 使用一个与类本 ...

  2. Hihocoder1456 Rikka with Lattice

    众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的:勇太有一个$n times m$的点阵,他想要从这$n times m$个点中选出三个点 ${A,B,C}$,满足 ...

  3. 2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)

    请问您今天要来个引擎吗? 工欲善其事必先利其器 最终项目上线演示地址: http://search.mtianyan.cn 第二节:我们搞搞比利,搞搞环境的搭建.Github地址: https://g ...

  4. Java NIO-09-零拷贝之 DMA

    DMA 的好处 在介绍DMA之前我想问大家:我们为什么要引入DMA,DMA对我们有什么好处那? 计算机系统中各种常用的数据输入/输出方法有查询方式(包括无条件及条件传送方式)和中断方式,这些方式适用于 ...

  5. CSS——NO.7(布局模型)

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

  6. PyCharm+git+码云实现project版本控制

    1.安装git https://git-scm.com/downloads 2.PyCharm中配置 3.申请码云 4.PyCharm中安装码云插件 右键选择,重启Pycharm. 重新打开PyCha ...

  7. Java设计模式二

    今天谈的是工厂模式,该模式用于封装和对对象的创建,万物皆对象,那么万物又是产品类,如一个水果厂生产三种水果罐头,我们就可以将这三种水果作为产品类,再定义一个接口用来设定对水果罐头的生成方法,在工厂类中 ...

  8. 钉钉小程序不用canvas在后端绘图前端用image标签获取图片的实践

    公司的需求要用电子员工卡代替用了N久的工作证,在各种场合刷二维码来代替刷卡.在钉钉小程序里实现.感觉这回又要躺坑里了. 钉钉小程序第一次做.我这个自封的GDI+大神才不要想用钉钉jsapi的方式用ca ...

  9. IOS 项目release版本中关闭NSlog的打印

    在-Prefix.pch文件中添加如下代码: #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #define debugMethod() NSLo ...

  10. 逐浪web无障碍与国际化以及全民族语言支持白皮书

    北京时间2019年5月10日,领先的门户网站与WEB内核服务厂商--上海Zoomla!逐浪CMS团队发布其年度重榜产品:逐浪CMS全民族语言与国际版,体验站点:http://demo2.z01.com ...