热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2Redis入门介绍

2Redis入门介绍2.1入门概述2.1.11是什么Redis:REmoteDIctionaryServer(远程字典服务器)clip_image046.jpg是完全开源免费的,用

2 Redis入门介绍

2.1 入门概述

2.1.1 1是什么

Redis:REmote DIctionary Server(远程字典服务器)

《2 Redis入门介绍》 clip_image046.jpg

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

Redis 与其他 key – value 缓存产品有以下三个特点

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

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

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

2.1.2 2 能干嘛

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

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

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

发布、订阅消息系统

定时器、计数器

2.1.3 3 去哪下

Http://redis.io/

《2 Redis入门介绍》 clip_image048.jpg

Http://www.redis.cn/

《2 Redis入门介绍》 clip_image050.jpg

2.1.4 4 怎么玩

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

持久化和复制,RDB/AOF

事务的控制

复制

……

2.2 VMWare+VMTools千里之行始于足下

2.2.1 VMWare虚拟机的安装

2.2.2 CentOS或者RedHad5的安装

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

《2 Redis入门介绍》 clip_image052.jpg

getconf LONG_BIT

返回是多少就是几位

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

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

《2 Redis入门介绍》 clip_image054.jpg

是“宿主机BIOS设置中的硬件虚拟化被禁用了。”

需要打开笔记本BIOS中的IVT对虚拟化的支持。

找到菜单“Security”–“System Security”,

将Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)设置为 Enabled。

保存并退出BIOS设置,重启电脑,

《2 Redis入门介绍》 clip_image056.jpg
《2 Redis入门介绍》 clip_image058.jpg
《2 Redis入门介绍》 clip_image060.jpg

2.2.3 VMTools的安装

2.2.4 设置共享目录

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

2.3 Redis的安装

2.3.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可以省略,

如果省略,会启用默认的。输入之后,会显示如下界面:

《2 Redis入门介绍》 clip_image062.jpg

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

《2 Redis入门介绍》 clip_image064.jpg

2.3.2 重要提示:

《2 Redis入门介绍》 clip_image066.jpg

由于企业里面做Redis开发,99%都是Linux版的运用和安装, 几乎不会涉及到Windows版,上一步的讲解只是为了知识的完整性, Windows版不作为重点,同学可以下去自己玩,企业实战就认一个版:Linux

2.3.3 Linux版安装

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

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

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

《2 Redis入门介绍》 clip_image068.jpg

进入目录:cd redis-3.0.4

《2 Redis入门介绍》 clip_image070.jpg

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

运行make命令时故 意出现的错误解析:

安装gcc

gcc是linux下的一个编译程序,是C程序的编译工具。

GCC(GNU Compiler Collection) 是 GNU(GNU’s Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

《2 Redis入门介绍》 clip_image072.jpg

能上网:yum install gcc-c++

不上网:

二次make

Jemalloc/jemalloc.h:没有那个文件或目录

运行make distclean之后再make

《2 Redis入门介绍》 clip_image074.jpg

Redis Test(可以不用执行)

《2 Redis入门介绍》 clip_image076.jpg

下载TCL的网址:

http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html

《2 Redis入门介绍》 clip_image078.jpg

安装TCL

《2 Redis入门介绍》 clip_image080.jpg

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

《2 Redis入门介绍》 clip_image082.jpg

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

《2 Redis入门介绍》 clip_image084.jpg

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

服务启动起来后执行

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

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

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

Redis-sentinel:redis集群使用

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

启动

《2 Redis入门介绍》 clip_image086.jpg

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

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

启动

《2 Redis入门介绍》 clip_image088.jpg

连通测试

《2 Redis入门介绍》 clip_image090.jpg

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

永远的helloworld

《2 Redis入门介绍》 clip_image092.jpg

关闭

《2 Redis入门介绍》 clip_image093.png

单实例关闭:redis-cli shutdown

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

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

2.4.1 单进程

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

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

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

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

databases 16

2.4.3 Select命令切换数据库

2.4.4 Dbsize查看当前数据库的key的数量

2.4.5 Flushdb:清空当前库

2.4.6 Flushall;通杀全部库

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

2.4.8 Redis索引都是从零开始

2.4.9 为什么默认端口是6379


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
author-avatar
萎靡的世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有