Redis

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库

redis的特点:

  1. 丰富的数据结构 -----String,list,set,hash等数据结构的存储
  2. 支持持久化
  3. 支持事务 ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
  4. 支持主从

redis和memcache区别:

  1. Redis不仅仅支持简单的k/v类型的数据,同时还提供了list,set,zset,hash等数据结构的存储
  2. Redis支持master-slave(主-从)模式应用
  3. Redis支持数据的持久化

#一、安装Redis
单机版redis

[root@redis-master ~]# mkdir -p /data/application     #创建工作目录

[root@redis-master ~]# wget http://download.redis.io/releases/redis-4.0.9.tar.gz     #下载

[root@redis-master ~]# tar xzf redis-4.0.9.tar.gz -C /data/application/     #解压

[root@redis-master ~]# cd /data/application/

[root@redis-master application]# mv redis-4.0.9/ redis

[root@redis-master application]# cd redis/

[root@redis-master redis]# yum -y install gcc make     #安装编译工具

[root@redis-master redis]# make     #编译

[root@redis-master redis]# cp redis.conf redis.conf.bk     #备份配置文件

[root@redis-master redis]# vim redis.conf     #编辑配置文件
bind 192.168.19.129     #只监听内网IP
daemonize yes     #开启后台模式
port 6379     #端口号
dir /data/application/redis/data     #本地数据库存放持久化数据的目录

[root@redis-master redis]# mkdir /data/application/redis/data     #创建存放数据的目录

[root@redis-master redis]# src/redis-server ./redis.conf &     #启动redias加载此配置文件的配置

[root@redis-master redis]# netstat -lntp|grep redis
tcp        0      0 192.168.19.129:6379     0.0.0.0:*               LISTEN      4527/src/redis-serv 

#登陆redis
[root@redis-master redis]# src/redis-cli -h 192.168.19.129
192.168.19.129:6379> ping     #测试
PONG
192.168.19.129:6379> set name chen     #创建key/value
OK
192.168.19.129:6379> get name     #获取key值
"chen"
到此单机版redis配置完成
192.168.19.129:6379> set key value [EX seconds] [PX milliseconds] [NX|XX]
EX seconds: 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value。
PX milliseconds: 将键的过期时间设置为 milliseconds 毫秒。 执行 SET key value PX milliseconds 的效果等同于执行 PSETEX key milliseconds value。
NX: 只在键不存在时, 才对键进行设置操作。
XX: 只在键已经存在时, 才对键进行设置操作。


#使用EX选项
192.168.19.129:6379> set name chen EX 10
OK
192.168.19.129:6379> get name
"chen"
192.168.19.129:6379> get name     #过10秒再次查看
(nil)

#使用PX选项
192.168.19.129:6379> set name chen PX 3000
OK
192.168.19.129:6379> get name
"chen"
192.168.19.129:6379> get name     #过3秒再次查看
(nil)

#使用NX选项
192.168.19.129:6379> set name chen NX     #key不存在创建成功
OK
192.168.19.129:6379> get name
"chen"
192.168.19.129:6379> set name chen NX     #key存在创建失败
(nil)
192.168.19.129:6379> get name     #value还是原来的
"chen"

#使用XX选项
192.168.19.129:6379> set age 20     #先设置一个key/value
OK
192.168.19.129:6379> get age
"20"
192.168.19.129:6379> set age 18 XX     #设置新的key/value
OK
192.168.19.129:6379> get age     #成功
"18"

#删除key/value
192.168.19.129:6379> del age
(integer) 1
192.168.19.129:6379> get age
(nil)

###redis的相关工具在redis/src下

./redis-cli           #redis的客户端
./redis-server        #redis的服务端
./redis-check-aof     #用于修复出问题的AOF文件
./redis-sentinel      #用于集群管理

#配置 redis 使用 systemctl 启动

[root@redis-master redis]# cd /lib/systemd/system
[root@redis-master system]# vim redis.service
[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf  --daemonize no
ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target

参数详解:
• [Unit] 表示这是基础信息
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动
• [Service] 表示这里是服务信息
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令
• [Install] 表示这是是安装相关信息
• WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
=========================================================================================

启动服务

[root@redis-master system]# systemctl daemon-reload  #重新加载
[root@redis-master system]# systemctl start redis.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值