Redis构建缓存服务器

一、Redis的特点

1、redis的特点:
1.丰富的数据结构 -----String,list,set,hash等数据结构的存储
2.支持持久化
3.支持事务 ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
4.支持主从
2、与memcache的区别
1).Redis不仅仅支持简单的k/v类型的数据,同时还提供了list,set,zset,hash等数据结构的存储
2).Redis支持master-slave(主-从)模式应用
3).Redis支持数据的持久化

2、Redis的单机部署
[root@redis-master ~]# mkdir -p /data/application     ---创建工作目录
[root@redis-master ~]# wget http://download.redis.io/releases/redis-4.0.9.tar.gz   ---下载redis
[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 install -y gcc make  #安装编译工具
[root@redis-master redis]# make
注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。
[root@redis-master redis]# mv redis.conf redis.conf.bak
[root@redis-master redis]# vim redis.conf     ---修改如下
bind 0.0.0.0  #允许所有网路访问
daemonize yes     #开启后台模式将on改为yes
port 6379                      #端口号
dir /data/application/redis/data  #本地数据库存放持久化数据的目录该目录-----需要存在
创建存放数据的目录
[root@redis-master redis]# mkdir /data/application/redis/data
配置redis为systemctl启动
[root@redis-master redis]# src/redis-server  redis.conf &
或者可以调成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表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
=========================================================================================
8.启动服务:
[root@redis-master system]# systemctl daemon-reload  #重新加载
[root@redis-master system]# systemctl start redis.service
登陆redis
[root@redis-master system]# cd /data/application/redis/src/
[root@redis-master src]# ./redis-cli -h 192.168.246.202 -p 6379
192.168.246.202:6379> ping     ---测试redis是否可以用
PONG
192.168.246.202:6379> set name xiaoming    #设置key--name,并设置值
OK
192.168.246.202:6379> get name    #获取到key
"xiaoming"
192.168.246.202:6379>
单机版redsi已经部署完成。将ip和端口发给开发就可以了。


192.168.246.202: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 选项:
[root@localhost src]# ./redis-cli -h 192.168.62.231 -p 6379
192.168.62.231:6379> set name1 xiaohong EX 10
OK
192.168.62.231:6379> get name1
"xiaohong"
等待10s,再次查看
192.168.62.231:6379> get name1
(nil)

使用 PX 选项:
192.168.62.231:6379> set name2 xiaohong PX 3233
OK
192.168.62.231:6379> get name2
"xiaohong"
等待3s,再次查看
192.168.62.231:6379> get name2
(nil)

使用 NX 选项:
192.168.62.231:6379> set class 1901 NX
OK # 键不存在,设置成功
192.168.62.231:6379> get class
"1901"
192.168.62.231:6379> set class 1901 NX
(nil)  # 键已经存在,设置失败
192.168.62.231:6379> get class
"1901"  # 维持原值不变

使用 XX 选项:
192.168.62.231:6379> set home taikang XX
(nil)  # 因为键不存在,设置失败
192.168.62.231:6379> set home taikang
OK # 先给键设置一个值
192.168.62.231:6379> set home zhengzhou XX
OK # 设置新值成功
192.168.62.231:6379> get home
"zhengzhou"

删除:
192.168.62.231:6379> del class
(integer) 1
192.168.62.231:6379> get class
(nil)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值