一、入门概述

1.是什么

Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。

Redis 与其他 key - value 缓存产品(memcached)有以下三个特点:

1)持久化:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

2)丰富数据结构:Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

3)数据备份:Redis支持数据的备份,即master-slave模式的数据备份

2.能干嘛

1)内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

2)取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面

3)模拟类似于HttpSession这种需要设定过期时间的功能

4)发布、订阅消息系统

5)定时器、计数器

3.去哪下

Http://redis.io/

Http://www.redis.cn/

4.怎么玩

1 数据类型、基本操作和配置

2 持久化和复制,RDB/AOF

3 事务的控制

4. 复制

。。。 。。。

二、VMWare+VMTools千里之行始于足下

1.VMWare虚拟机的安装

2.CentOS或者RedHad5的安装

1)如何查看自己的linux是32位还是64位

getconf LONG_BIT
返回是多少就是几位

2)假如出现了不支持虚拟化的问题

我的笔记本cpu是64位的,操作系统也是64位的,问题应该如虚拟机右下角提示所说,

是“宿主机BIOS设置中的硬件虚拟化被禁用了。”
需要打开笔记本BIOS中的IVT对虚拟化的支持。
找到菜单“Security”–“System Security”,
将Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)设置为 Enabled。
保存并退出BIOS设置,重启电脑,

3.VMTools的安装

4.设置共享目录

5.上述环境都OK后开始进行Redis的服务器安装配置

三、Redis的安装

1.Windows版安装

Window 下安装
下载地址:https://github.com/dmajkic/redis/downloads
下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids
打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf 。
如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,
如果省略,会启用默认的。输入之后,会显示如下界面:

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey

说明:

基本都会使用Linux

2.Linux版安装

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

2)/opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gz

3)解压完成后出现文件夹:redis-3.0.4

4)进入目录:cd redis-3.0.4

5)在redis-3.0.4目录下执行make命令

6)如果make完成后继续执行make install

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

Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何

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

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

Redis-cli:客户端,操作入口

Redis-sentinel:redis集群使用

Redis-server:Redis服务器启动命令

8)启动

修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动

将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myconf

/usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件

关闭

单实例关闭:redis-cli shutdown

多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

四、Redis启动后杂项基础知识讲解

1.单进程

单进程模型来处理客户端的请求。对读写等事件的响应
是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率

Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,
它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

2.默认16个数据库,类似数组下表从零开始,初始默认使用零号库

设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16

3.Select命令切换数据库

4.Dbsize查看当前数据库的key的数量

5.Flushdb:清空当前库

6.Flushall;通杀全部库

7.统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上

8.Redis索引都是从零开始

9.为什么默认端口是6379

6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字。MERZ长期以来被antirez及其朋友当作愚蠢的代名词。Redis作者antirez同学在twitter上说将在下一篇博文中向大家解释为什么他选择6379作为默认端口号。而现在这篇博文出炉,在解释了Redis的LRU机制之后,向大家解释了采用6379作为默认端口的原因。

参考资料:

《redis视频》尚硅谷周阳

Redis学习二:Redis入门介绍的更多相关文章

  1. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  2. Redis学习一:Nosql入门和概述

    现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql. 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机 ...

  3. Redis学习笔记1-Redis的介绍和认识

    说明:文章内容来自百度百科和redis官方对redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API ...

  4. C#中使用Redis学习二 在.NET4.5中使用redis hash操作

    上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表. ...

  5. redis深入学习(二)-----redis配置文件、持久化

    redis配置文件 地址 units单位 a  配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bitb  对大小写不敏感 GENERAL通用 1.daemonize 2.pidf ...

  6. 【转】C#中使用Redis学习二 在.NET4.5中使用redis hash操作

    摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表.并且会将封装的一些代码贴 ...

  7. Redis学习二:Redis高并发之主从模式

    申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 前面已经学习了Redis的持久化方式,接下来开始学习Redi ...

  8. Redis学习笔记~Redis主从服务器,读写分离

    回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...

  9. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  10. Redis学习笔记-Redis内部数据结构

    Redis内部数据结构 Redis和其他key-value数据库的很大区别是它支持非字符串类型的value值.它支持的value值的类型如下: sds (simple dynamic string) ...

随机推荐

  1. 项目冲刺Beta第二篇博客

    Beta版本冲刺计划安排 1.当天站立式会议照片: 2.工作分工: 团队成员 分工 张洪滨060  排行榜界面美化 陈敬轩059  注册成功界面美化 黄兴067  登录界面美化 林国梽068  答题界 ...

  2. 更新ubuntu的源

    什么是Ubuntu的软件源? 我们在使用Debian或者Ubuntu的apt-get工具来安装需要的软件时,其实就是从服务器获取需要安装的软件并把它安装在本地计算机的过程.所谓的软件源,就是我们获取软 ...

  3. PAT 甲级 1155 Heap Paths

    https://pintia.cn/problem-sets/994805342720868352/problems/1071785408849047552 In computer science, ...

  4. python基础(四)文件操作和集合

    一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') # ...

  5. 如何在Windows下查看JAVA端口占用情况(阿里面试)

    如需要确定谁占用了9050端口 为例: 1.Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议 本地地址 外部地址 状态 ...

  6. URAL 1969. Hong Kong Tram

    有一个trick就是没想到,枚举第二段时间后,要检测该火车能否继续跑一圈来判断,不能先检测前半圈能不能跑加进去后在检测后半段: // **** 部分不能放在那个位置: 最近代码导致的错误总是找不出,贴 ...

  7. VRRP主备备份配置示例—实现网关冗余备份

    本示例的基本拓扑结构如图所示. HostA通过Switch 双线连接到RouterA 和RouterB .用户希望实现:正常情况下, 主机以RouterA 为默认网关接入Intemet; 而当Rout ...

  8. P2303 [SDOi2012]Longge的问题

    题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 输入输出格式 输入格式: 一 ...

  9. C++ STL 常用遍历算法

    C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供了 ...

  10. 51nod 1483 化学变换 | 二进制 暴力

    51nod 1483 化学变换 题面 给出n个整数(n <= 1e5,每个数 <= 1e5),对每个数都可以进行多次操作,操作有两种:乘二/整除以二. 问最少经过多少次操作能使所有数相等. ...