Redis
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库redis的特点:丰富的数据结构-----String,list,set,hash等数据结构的存储支持持久化支持事务---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。支持主从redis和memcache区别:Redis不...
·
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库
redis的特点:
- 丰富的数据结构 -----String,list,set,hash等数据结构的存储
- 支持持久化
- 支持事务 ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
- 支持主从
redis和memcache区别:
- Redis不仅仅支持简单的k/v类型的数据,同时还提供了list,set,zset,hash等数据结构的存储
- Redis支持master-slave(主-从)模式应用
- 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
更多推荐
已为社区贡献2条内容
所有评论(0)