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. Train Problem II (卡特兰数+大数问题)

    卡特兰数: Catalan数 原理: 令h(1)=1,h(0)=1,catalan数满足递归式: h(n)= h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1) ...

  2. 多个计数器在Vuex中的状态

    安装 安装vue-cli npm i -g vue-cli 生成目录 vue init webpack 启动开发环境 npm run dev 启动命令 npm install -g vue-cli v ...

  3. android 中webview的屏幕适配问题

    两行代码解决WebView的屏幕适配问题 一个简单的方法,让网页快速适应手机屏幕,代码如下 1 2 WebSettings webSettings= webView.getSettings(); we ...

  4. C++走向远洋——53(项目一1、分数类的重载、加减乘除、比较)

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

  5. LeetCode 题解 | 1. 两数之和

    题目描述: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], t ...

  6. LeetCode 题解 | 237. 删除链表中的节点

    题目描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: hea ...

  7. MySQL多表查询、事务、DCL:内含mysql如果忘记密码解决方案

    MySQL多表查询.事务.DCL 多表查询 * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE dept( id ...

  8. 94-datetmie模块

    目录 datetmie模块 1 返回当前时间 2 当前时间+3天 3 当前时间-3天 4 当前时间-3小时 5 当前时间+30分钟 6 时间替换 datetmie模块 datetime模块可以看成是时 ...

  9. c语言之单向链表

    0x00 什么是链表 链表可以说是一种最为基础的数据结构了,而单向链表更是基础中的基础.链表是由一组元素以特定的顺序组合或链接在一起的,不同元素之间在逻辑上相邻,但是在物理上并不一定相邻.在维护一组数 ...

  10. 使用node打造自己的命令行

    一.实现一个简单的功能 二.环境 1.系统: window 10 2.编辑器: vscode 3.node版本: 8.7.0 三.开始玩 1.打开命令行,新建一个pa'ckage.json npm i ...