Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
这里我们安装Redis是在虚拟机的Linux系统上安装并且配置了对应的MoBaXterm客户端
大家可以去参考安装虚拟机以及客户端的一些博客(我觉得MobaXterm挺好用的)
2.1.安装Redis
2.2.解压安装包
tar -zxvf redis-5.0.0.tar.gz
yum install gcc
进入解压后的文件夹执行编译Redis,输入make && make install即可
make && make install
什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了,直接卡在Redis界面,这样是不符合我们的开发要求的。
修改redis.conf文件将daemonize no 改为 daemonize yes
这时我们如何使用快速定位语句,帮助我们快速定位呢?方法就是:
/你要定位的东西,例如这里我们将daemonize no 改为 daemonize yes,那小编输入/daemonize即可快速定位,修改之后保存退出。:wq
2.6.启动Redis服务
首先我们启动的时候一定注意自己的命令所在位置,我们要执行的是src下的./redis-server,但是我们后面要加上得redis.conf确实和src同级目录下的所以这里必须注意。
/src/redis-server redis.conf
我们设置了守护模式之后无法直观的知道我们是否启动redis,则通过查看是否能够连接本地客户端来验证:
./src/redis-cli
执行这条语句来连接客户端,然后输入一个ping 连接成功会自动返回一个pong
执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。
修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456
首先kill -9 进程pid 关闭启动的进程ip
./src/redis-server redis.conf
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
到这里我们的Linux安装Redis就全部完成了!!!
cd Redis-x64-3.2.100
redis-server redis.windows.conf
Windows的安装是不是更为简单!!
这里的守护进程和修改密码等操作都是和Linux里面的操作一致就不过多赘述!!!!
# 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
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
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