redis-5.0.5离线安装方式

Posted 村尚chun叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis-5.0.5离线安装方式相关的知识,希望对你有一定的参考价值。

官方网址

https://redis.io/
github:https://github.com/antirez/redis

一、安装下载redis-5.0.5

1、官网下载redis-5.0.5.tar.gz

2、解压编译安装

tar -xvf redis-5.0.5.tar.gz
cd redis-5.0.5
make PREFIX=/usr/local/redis install

3、启动redis

①直接启动(不推荐,会进入客户端)

cd /usr/local/redis/bin
./redis-server

②后台启动(推荐)

去解压的路径下复制redis.conf文件到/usr/local/redis/bin下
cp /root/soft/redis-5.0.5 /usr/local/redis/bin
vim /usr/local/redis/bin/redis.conf
修改为daemonize yes
cd /usr/local/redis/bin
./redis-server ./redis.conf

4、关闭redis服务

./redis-server shutdown

二、连接redis

①telnet可以连接redis,没有本身redis-cli更加好用

>telnet 127.0.0.1 6379

②直接使用redis-cli连接

redis-cli -h 10.64.39.100 -p 6379
有认证的话: auth 密码
集群连接:redis-cli -h 10.64.39.100 -p 6379 -c

三、常用redis命令

存储:set key value
set name opt
批量存储:mset key1 value1 key2 value2
mset name linux age 5
获取:get key
get name
批量获取:mget key1 key2
mget name age
查看相关操作:help set|get
查看redis相关信息:info
判断有没有key值:exists key(存在即为1,不存在即为0)
exists name
删除给定key:del key1 key2
del name age
返回给定的key的value类型:type key
type name
返回匹配指定模式的所有key:keys *
keys name*
改名字:rename oldkey newkey
rename name Name
返回当前数据库的key数量:dbsize
为key指定过期时间:expire key seconds
返回key的剩余过期秒数:ttl key
选择数据库:select db-index
select 15 默认16个库0-15
将key从当前数据库移动到指定数据库:move key db-index
删除当前数据库中所有的key:flushdb
删除所有数据库中的所有key:flushall
设置key对应的值为string类型的value:set key value
set name sting
对key值做加操作,并返回新的值:incr key
incr age
对key值做减操作,并返回新的值:decr key
decr age
对key增加指定的值:incrby age 5
对key减少指定的值:incrby age 5
给指定key的字符串追加值:append key value
append name centos name原来的值为linux,则name的值为linuxcentos
返回截取的key的字符串:substr key start end
从0开始,substr name 0 5

redis停止
./redis-cli客户端里面使用shutdown停止后exit退出
或者命令行直接killall redis-server

List:双向链表
先进后出是栈,先进先出是队列
在key对应list的头部添加字符串元素:lpush key string 可以添加多个元素
lpush name xiaoming
在key对应list的尾部添加字符串元素:rpush key string 可以添加多个元素
在list的尾部删除元素,并返回删除的元素:rpop key
在list的头部删除元素,并返回删除的元素:lpop key
对应list的长度,key不存在返回0,如果key对应类型不是list,返回错误:llen key
返回指定区间内的元素,下标从0开始:lrange key start end
lrange name 0 2
截取list,保留指定区间内的元素:ltrim key start end

set:无序集合
sadd xiaomingFR xiaohong xiaoqiang xiaogang xiaohei xiaobai
sadd xiaohongFR xiaoming xiaolv xiaolan xiaobai xiaohei
添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误:sadd key member
从key对应set中移除给定元素,成功返回1:srem key member [member]
从p1对应set中移除member并添加到p2对应set中:smove p1 p2 member
返回set的元素个数:scard key
判断member是否在set中:sismember key member
返回所有给定key的交集:sinter key1 key2 keyN
sinter xiaomingFR xiaohongFR
返回所有给的key的并集:sunion key1 key2 keyN
sunion xiaomingFR xiaohongFR
返回所有给的key的差集:sdiff key1 key2 keyN
sdiff xiaomingFR xiaohongFR
返回key对应set的所有元素,结果是无序的:smembers key
从key中移除元素:srem key string
srem xiaomingFR xiaoqing
判断元素是否在key中:sismember key string
sismember xiaomingFR xiaoqiang
将元素从key1中移动到key2:smove key1 key2 string
smove xiaomingFR xiaohongFR xiaogang
查看key中的元素个数:scard key
scard xiaomingFR

zset:有序集合,元素不允许重复,通过权值可以有序的获取集合中的元素
zadd hottop 2 QQ 3 wechat 5 alipay 7 taobao 8 jd 10 king
添加元素到集合,元素在集合中存在则更新对应score
zadd key score member
删除指定元素,1表示成功,如果元素不存在返回0:zrem key member
按照incr幅度增加对应member的score值,返回score值:zincrby key incr member
zincrby hotTop -2 jd
返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序的:zrank key member
同上,但是集合中元素是按score从大到小排序:zrevrank key member
类似lrange操作从集合中取指定区间的元素,返回的是有序结果:zrange key start end
zrange hotTop 0 4
同上,返回结果是按score逆序的:zrevrange key start end
zrevrange hotTop 0 4
返回集合中元素个数:zcard key
返回给定元素对应的score:zscore key member
zscore hotTop jd
删除集合中排名在指定区间的元素:zremrangebyrank key min max

hash:使用hash结构,压缩效率和使用效率更高,Key:value(field:value)
设置hash field为指定值,如果key不存在,则先创建:hset key field value
hset name username dev
获取指定的hash field:hget key field
hget info phone
获取全部指定的hash field:hmget key field1 field2 fieldN
hmget info username age phone
同时设置hash的多个field:hmset key field1 value1 field2 value2
hmset info username devops age 13 phone 12345678910 job java
将指定的hash field加上给定值:hincrby key field integer
测试指定field是否存在,存在返回1,不存在返回0:hexists key field
hexist info age
删除指定的hash field:hdel key field
hdel info job
返回hash的所有field:hkeys key
hkeys info
返回指定hash的field数量:hlen key
hlen info
返回hash的所有value:hvals key
hvals info
返回hash的所有field和value:hgetall key
hgetall info

snappshoting(快照)
在/usr/local/redis/bin目录下有一个dump.rdb文件
备份频率:在5分钟内,进行10key的改变
或者手动备份 > SAVE
随时要把dump.rdb文件做备份,避免发生意外数据丢失。

redis恢复数据
先停掉redis --> killall redis-server
把备份的dump.rdb文件放到/usr/local/redis/bin目录下覆盖文件原dump.rdb文件 --> cp /root/dump.rdb /usr/local/redis/bin
重新启动redis --> ./usr/local/redis/bin/redis-cli

append only file更快的备份方式
开启aof后,之前的redis里的数据会丢失
默认关闭,开启方式
vi /usr/local/redis/bin/redis.conf
修改为 appendonly yes,重启redis
备份策略
appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
appendfsync no //完全依赖os,性能最好,持久化没保证

redis主从复制
主redis上修改redis.conf
vi redis.conf
bind 127.0.0.1 192.168.10.108
从redis上修改redis.conf
vi redis.conf
slaveof 192.168.10.107 6379 5.0之前的版本
replicaof 192.168.10.107 6379 5.0之后的版本修改slaveof为replicaof
从redis不允许写操作,是因为配置文件里进行了slave read-only设置,也是符合业务的使用需求

redis密码设置
vi redis.conf
requirepass 123456
重启redis
./reids.cli
auth 123456
如果开启了密码限制,搭建主从需要在从redis中填写主redis密码 --> masterauth 123456

离线安装Redis 说明

安装Redis所需环境 需要Root权限

// 1. 准备压缩包解压 (这里我们准备安装到visible账户下的webdata文件夹下)
// *****root账户*****
cd /home/visible/  
mkdir webdata
cd webdata/
mv ~/gccmake.tar /home/visible/webdata
tar -xvf gccmake.tar
cd /temp (gccmake.tar解压会得到temp文件夹)

// 2. 安装 现在提供两种方式安装,推荐第一种,第二种备用

// 统一安装(非常推荐)
rpm -Uvh *.rpm --nodeps --force

// 顺序安装(不推荐)
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-862.2.3.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-222.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-222.el7.x86_64.rpm
rpm -ivh cpp-4.8.5-28.el7.x86_64.rpm
rpm -ivh gcc-4.8.5-28.el7.x86_64.rpm

安装Redis数据库 需要Root权限

// 1. 准备压缩包解压 root账户 (这里同样安装到visible账户下的webdata文件夹下)
// *****root账户*****
cd /home/visible/webdata/
mv ~/redis-4.0.0.tar.gz /home/visible/webdata
tar -zxvf redis-4.0.0.tar.gz

// 2. 安装redis
cd redis-4.0.0/          
cd src/
make                          //编译安装redis   
./redis-server &              //启动redis服务
./redis-cli                   //测试redis连接

// 3. 开放局域网内访问6379端口权限
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=6379/tcp   //查看

修改远程连接数据库配置 需要Root权限

//进入redis安装目录
cd redis-4.0.0/
//编辑配置文件
vi redis.conf
//连接IP, 0.0.0.0 为所有
bind 0.0.0.0
//限制局域网连接
protected-mode no
//后台运行
daemonize yes
//启动redis,带上配置文件
./redis-server ../redis-conf

以上是关于redis-5.0.5离线安装方式的主要内容,如果未能解决你的问题,请参考以下文章

centos7中redis安装配置

二 redis的安装启动

linux安装redis-5.0.5

Linux安装redis

redis 5.0.5 安装

redis 5.0.5 安装