【Redis】Redis安装教程&基本操作语法

一. Redis简介

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

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

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

二、Linux安装Redis


这里我们安装Redis是在虚拟机的Linux系统上安装并且配置了对应的MoBaXterm客户端

大家可以去参考安装虚拟机以及客户端的一些博客(我觉得MobaXterm挺好用的)

2.1.安装Redis

【Redis】Redis安装教程&基本操作语法_第1张图片

2.2.解压安装包

 tar -zxvf redis-5.0.0.tar.gz

2.3.解压后执行安装gcc

  yum install gcc

2.4.编译Redis

进入解压后的文件夹执行编译Redis,输入make && make install即可

make && make install

【Redis】Redis安装教程&基本操作语法_第2张图片

2.5.修改Redis为守护进程

什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了,直接卡在Redis界面,这样是不符合我们的开发要求的。

 【Redis】Redis安装教程&基本操作语法_第3张图片

修改redis.conf文件将daemonize no 改为 daemonize yes

这时我们如何使用快速定位语句,帮助我们快速定位呢?方法就是:
/你要定位的东西,例如这里我们将daemonize no 改为 daemonize yes,那小编输入/daemonize即可快速定位,修改之后保存退出。:wq

【Redis】Redis安装教程&基本操作语法_第4张图片

2.6.启动Redis服务

2.6.启动Redis服务
首先我们启动的时候一定注意自己的命令所在位置,我们要执行的是src下的./redis-server,但是我们后面要加上得redis.conf确实和src同级目录下的所以这里必须注意。

/src/redis-server redis.conf

【Redis】Redis安装教程&基本操作语法_第5张图片


 我们设置了守护模式之后无法直观的知道我们是否启动redis,则通过查看是否能够连接本地客户端来验证:

./src/redis-cli

执行这条语句来连接客户端,然后输入一个ping 连接成功会自动返回一个pong

【Redis】Redis安装教程&基本操作语法_第6张图片

2.7.配置密码且外部连接

执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。

修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456

【Redis】Redis安装教程&基本操作语法_第7张图片

2.8.重启服务器

首先kill -9 进程pid 关闭启动的进程ip

【Redis】Redis安装教程&基本操作语法_第8张图片
启动redis.conf的新配置   

./src/redis-server redis.conf

2.9.开放Redis端口号


firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

2.10.redismanagerl连接测试 

【Redis】Redis安装教程&基本操作语法_第9张图片

到这里我们的Linux安装Redis就全部完成了!!! 

三、Windos安装Redis

3.1.解压安装包

【Redis】Redis安装教程&基本操作语法_第10张图片

3.2.编写bat启动文件


  1. cd Redis-x64-3.2.100

  2. redis-server redis.windows.conf

【Redis】Redis安装教程&基本操作语法_第11张图片

3.3.双击bat文件

【Redis】Redis安装教程&基本操作语法_第12张图片

3.4.redismanagerl连接测试 

【Redis】Redis安装教程&基本操作语法_第13张图片

Windows的安装是不是更为简单!!

这里的守护进程和修改密码等操作都是和Linux里面的操作一致就不过多赘述!!!!

四、Redis基本操作语法

3.1 Redis字符串


# set key          //保存
set name zs
set age 12
set sex nan

# get key          //获取
get name

# type key         //查看类型
type age            //string 说明type返回的是键值对存储类型,而不是值存储类型

# keys *或keys key //查看所有或者指定的key
keys *

# SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间
setex zs 60 live

# ttl key    // 获取键值对剩余的存活时间
ttl zs

3.2 Redis哈希(Hash)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv

# hget key field                          #获取指定的字段值
hget user age

# hdel key field                          #删除指定的字段值
hdel user age

# hgetall key                             #查询指定key的所有字段
hgetall user

# hexists key field                       #查询指定key中的字段是否存在
hexists user name

# hlen key                                #获取指定key中的长度
hlen user

3.3 Redis列表(List)


Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边).

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g

# llen key                                #获取列表的长度
llen en

# lindex key index                        #根据索引获取列表中的元素
lindex en 1     #返回f,说明下标从0开始,同时先进后出

# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3    #返回fed,说明下标从0开始,同时先进后出

3.4 Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

# scard key                               #获取集合中的元素数量
scard hobby

# exists key                              #是否存在
exists hobby
 

你可能感兴趣的:(java,数据库,mysql)