Redis——Redis介绍

一、概述
 Redis(Remote Dictionary Server,即远程字典服务器),是开源免费的、用C语言编写的、高性能的(key/value)分布式内存数据库,是一个遵守BSD协议,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
 Redis 有以下特性:
  1️⃣Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用
  2️⃣Redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
  3️⃣Redis支持数据的备份:即master-slave模式的数据备份

 Redis的应用场景:
  ①内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
  ②取最新N个数据的操作,如:可以将最新的10条评论的ID放在List集合中
  ③模拟类似于HttpSession这种需要设定过期时间的功能
  ④发布、订阅消息系统
  ⑤定时器、计数器

二、安装
 可参考菜鸟教程:Redis的安装
 1、查看Linux系统是32位还是64位:

getconf LONG_BIT

 2、将安装包解压后出现redis的文件夹
 3、进入该文件夹,执行make命令,可能会出现如下错误:
在这里插入图片描述
  出现此错误时,执行如下操作:安装gcc

sudo yum -y install gcc gcc-c++ libstdc++-devel 
make MALLOC=libc #这一步就会安装Redis,下面的步骤可以不执行

  执行完上述操作后再回到redis的安装目录执行make distclean命令,然后接着再执行make命令
 4、make命令执行成功之后执行make install:安装成功

: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 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

 5、查看安装目录:会看到以下几个文件
在这里插入图片描述
  这些文件的作用:

文件作用
redis-benchmark性能测试工具,可以在自己的电脑上运行,查看电脑的性能,在服务启动后执行
redis-check-aof修复有问题的AOF文件
redis-check-dump修复有问题的dump.rdb文件
redis-cli客户端,操作入口
redis-sentinelredis集群使用
redis-serverredis服务器启动命令

 6、启动:修改redis.conf文件,将里面的daemonize no 改成 yes,才能让服务在后台启动
  ①进入redis的解压目录,将目录中的redis.conf拷贝一份到该目录下自建的目录myconf(在当前目录创建myconf子目录:mkdir myconf)中:cp redis.conf /opt/redis-3.0.4/myconf
  ②修改拷贝到myconf中的redis.conf文件,最好不要修改原文件,将daemonize no 改成 yes
  ③启动:进入到安装目录下的src目录,执行./redis-server redis.conf(作为服务端)
  ④连通测试:在另一个终端中,进入myconf目录下,执行redis-cli(作为客户端):发现端口6379启用,输入ping,会反馈pong
  ⑤关闭:在服务端执行ps -ef|grep redis查看正在运行的客户端,再执行redis-cli shutdown关闭客户端

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

   当客户端连接不上服务端时,使用quit命令退出
在这里插入图片描述
  :redis运行的是文件
 7、HelloWorld:对数据的操作都是在客户端执行的
  ①启动服务端:在/usr/local/bin下执行命令redis-server /opt/redis-3.0.4/myconf/redis.conf(使用绝对路径)
  ②启动客户端:在另外一个终端上进入myconf目录,执行redis-cli
  ③在客户端执行:set key helloworld(在redis数据库中设置一个键值对key-helloworld)
  ④在客户端执行:get key(从redis中通过键key来获取它对应的值),就会将刚才设置的helloworld取出来
  ⑤关闭:redis-cli shutdown

三、Redis的特点
 ①、单进程
  a、单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率
  b、Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
 ②Redis默认有16个数据库,类似数组下标从0开始,初始默认使用0号库
设置数据库的数量(databases 16),默认数据库为0,可以使用SELECT <dbid>命令进行数据库切换
 ③ Dbsize查看当前数据库的key的数量
 ④Flushdb:清空当前库
 ⑤Flushall;清空全部库
 ⑥统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
 ⑦Redis索引都是从零开始
 ⑧默认端口是6379

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值