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. 缓存系统——redis数据库

    缓存系统有:mongodb.redis(速度更快).memcache 学习memcached 参考:http://www.cnblogs.com/wupeiqi/articles/5132791.ht ...

  2. Maximum Value(CodeForces - 484B)

    Maximum Value Time limit 1000 ms Memory limit 262144 kB You are given a sequence a consisting of n i ...

  3. 安装python3.5

    安装python3.5可能使用的依赖 [root@heweiwei heweiwei]# yum install openssl-devel bzip2-devel expat-devel gdbm- ...

  4. 在CodaLab上提交MURA竞赛的结果

    What is MURA? MURA (musculoskeletal radiographs) is a large dataset of bone X-rays. Algorithms are t ...

  5. 重大改革!Python,最接近人工智能的语言~将被加入高考科目!

    就在前几天,和一位浙江省高校的信息技术老师聊天,我得到了一个震惊的消息: 明年,浙江省信息技术教材将不会在使用晦涩难懂的VB语言,而是改学更简单易懂的Python语言.也就是说, Python语言将纳 ...

  6. Intellij IDEA创建 Web 项目

    快速构建 Web 项目 打开IDEA,新建Project,左边菜单栏选择 Maven,直接点 Next 选择GroupId和ArtifactId 选择项目名称,默认会填上工程位置.模块姓名等,直接点F ...

  7. 【原创】从零开始搭建Electron+Vue+Webpack项目框架(六)Electron打包,同时构建客户端和web端

    导航: (一)Electron跑起来(二)从零搭建Vue全家桶+webpack项目框架(三)Electron+Vue+Webpack,联合调试整个项目(四)Electron配置润色(五)预加载及自动更 ...

  8. 记一个 Base64 有关的 Bug

    本文原计划写两部分内容,第一是记录最近遇到的与 Base64 有关的 Bug,第二是 Base64 编码的原理详解.结果写了一半发现,诶?不复杂的一个事儿怎么也要讲这么长?不利于阅读和理解啊(其实是今 ...

  9. C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值

    //C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值,表达式如下: Regex regImg = new Regex(@"(?is)<a[^>]*?href ...

  10. Pro SQL Server Internal (Dmitri Korotkev)电子书翻译P8-14(12w)

    数据行与数据列 数据库的控件逻辑上分成8KB的页,这些页从0开始,连续排序,对特定的文件ID和页码有借鉴意义.页码编号一定是连续的,当SQL服务器中的数据库文件增加时,新的数据页从最高的页码开始编码. ...