1、概述
redis是什么?
全名:REmote DIctionary Server(远程字典服务器)。是完全开源免费、用C语言编写的、遵守BSD协议的一个高性能的(key/value)分布式内存数据库。它是基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
- redis的特点:
- 支持数据的持久化,它可以将内存中的数据保存在磁盘中,重启的时候可以再次从磁盘中加载到内存进行使用。
- 不仅是支持key-value的数据,还提供list、set、zset(有序set)、hash等数据结构的存储
- 支持数据的备份,即是
master-salve
模式的数据备份 - 高性能:读速度是110000次/s,写速度是81000次/s
redis能干嘛?
1.把数据存储到内存中,以及持久化保存到磁盘中:redis支持异步把内存中的数据转存到硬盘中,同时不影响它的服务
2.支持读取最新N个数据的操作,比如说:可以将最新的10条评论的ID放在redis的list集合中
3.可以模拟类似HttpSession
这种需要设定过期时间的功能,实现数据的定时过期,旧数据的删除
4.可以实现发布和订阅消息
5.可以实现定时器、计时器
redis怎么玩?
1.可存储的不同类型数据
2.基本操作
3.配置文件
4.持久化和赋值,RDB/AOF
5.事务
6.复制
7.发布和订阅
...
下载地址
2、Linux版安装
-
1.下载
下载redis-x.x.x.tar.gz
包,然后把它放到/opt
目录下 -
2.解压
tar -zxvf redis-x.x.x.tar.gz
-
3.make
进入解压后的目录:cd redis-x.x.x
需要安装:yum install gcc-c++
执行make命令:make
如果报错Jemalloc/jemalloc.h:没有那个文件或目录
,则先运行make distclean
,再进行make
-
4.redis test(非必须执行)
tcl安装
需要先安装tcl,再执行make test
-
make install
make成功后,执行make install
-
5.进入默认安装目录
bin目录/usr/local/redis-x.x.x/bin
(6.0.6版本是在redis目录/src/redis-benchmark
)
1.Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(需要启动redis服务再执行)
2.Redis-check-aof:修复有问题的AOF文件
3.Redis-check-dump:修复有问题的dump.rdb文件
4.Redis-cli:客户端,操作入口
5.Redis-sentinel:redis集群使用
6.Redis-server:Redis服务器启动命令
-
6.启动(redis默认端口是6379)
方式1,设置后台启动:
首先备份原来redis.conf
文件(在执行make
命令的那个redis文件夹下),并重命名
然后修改redis.conf
文件的daemonize no
改成daemonize yes
,让redis服务在后台启动
接着启动(运行修改了内容的配置文件):redis-server redis.conf
(后面跟着的是指定的配置文件)
测试连通性ping
方式2:
进入redis目录/src
,执行redis-server
-
7.测试下读写
开启客户端:redis-cli
写入kv:set key1 helloword
读kv:get key1
ps. 如果出现报错(error) NOAUTH Authentication required.
,需要进行身份认证:auth "密码"
,回车即可 -
8.关闭服务
单实例关闭:redis-cli shutdown
多实例关闭,指定端口:redis-cli -p 端口 shutdown
3、杂项基础知识
- redis是单进程模型来处理客户端的请求。对读写等事件的响应是通过对
epoll
函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率
epoll
函数是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 - redis默认设置16个数据库,类似数组下表从零开始,初始默认使用零号库(配置文件中的配置项:
databases 16
) - 在redis-cli中,可以使用
select dbid
来切换需要连接的数据库 -
dbsize
查看当前数据库的key的数量 -
flushdb
:清空当前库(慎用) -
flushall
;通杀全部库(别用) - redis默认是没密码的,如果在配置文件中设置了密码,那么它是所有数据库统一密码管理的,16个库都是同样密码,要么都OK要么一个也连接不上
- Redis索引都是从零开始
- 默认端口是6379
-
config get dir
:查看当前启动的redis-server
所在目录
网友评论