Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
zset原为sorted set。为了避免sorted set简写sset导致命令冲突,所以改为zset。同理例如class-->clazz
- Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
- Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
https://github.com/tporadowski/redis/releases
在我们之前使用的mobaxterm上连接的Linux管理中去解压压缩文件:
tar -zxvf redis-5.0.0.tar.gz
yum install gcc
进入解压后的文件夹执行编译Redis
make && make install
什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了
使用我们Linux快速查找命令:
:/daemonize
修改redis.conf文件将daemonize no 改为 daemonize yes
/src/redis-server redis.conf
通过查看是否能够连接本地客户端来验证:
./src/redis-cli
输入一个ping 连接成功会自动返回一个pong,如果不返回就失败了
执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。
修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456
首先kill -9 进程pid 关闭启动的进程ip
杀死进程
kill -9 pid
查询进程
lsof -i:6379
启动redis.conf的新配置
./src/redis-server redis.conf
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
已经连接成功!!!
我们的Linux安装Redis就全部完成了!!!
在bat中编写
cd Redis-x64-3.2.100
redis-server redis.windows.conf
启动bat文件
首先我们启动Redis服务与本地客户端连接
因为我们加入了守护进程,所以要带密码和用户端口连接
-h(主机ip)-p(端口) -a(密码)
输入ping:有个PONG说明登录成功,否则要看看密码。
接下来小编从常用的字符串、哈希表、列表分别来介绍一些常用方法,没有介绍的大家都可以查看上面分享的学习网址,里面人家都有官方的。
# 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开始,同时先进后出
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
# sadd key value1 [value2] #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key #获取集合中的元素数量
scard hobby# exists key #是否存在
exists hobby
除了以上命令,Redis还提供了一些其他的集合命令,如SMOVE、SSCAN等,用于集合的移动和集合的扫描等操作。