记录下步骤以后用到时翻一翻。

在centos下载依赖库:

yum install gcc tcl

 

redis官网的下载页面,这里可以选择离线包或在线下载。

我选择在线的,在下载页面往下拉到 Installation

这里官方已经教你如何在线下载了,我们按步骤来。

 

在centos找一个位置,我选择/usr/local/software/目录下

执行

wget http://download.redis.io/releases/redis-5.0.7.tar.gz
如果执行两次还是下载不了可以现在离线或百度一下解决办法。
用ls查看会多出

centos安装Redis和设置远程访问

解压

tar xzf redis-5.0.7.tar.gz
进入
cd redis-5.0.7
编译
make
查看是否可以启动
src/redis-server
centos安装Redis和设置远程访问
以上就是成功的,按ctrl+c退出关闭。

二、配置环境变量和开放端口

环境变量可以不配置,不过每次开启需要输入全局路径。

不过在编辑之前我推荐下载notepad++文本编辑器,

下载打开后再工具栏找到插件,打开插件管理,

搜NppFTP,勾上后点击安装,等待安装完自动打开。

在插件工具栏打开

centos安装Redis和设置远程访问

打开设置

centos安装Redis和设置远程访问

点击Add new 名字自取

centos安装Redis和设置远程访问

我设置完后

centos安装Redis和设置远程访问

关闭后点击centos安装Redis和设置远程访问输入密码连接选择是后

centos安装Redis和设置远程访问

现在可以愉快的编辑了。

选择/文件夹点一下

centos安装Redis和设置远程访问

找到/etc/profile centos安装Redis和设置远程访问双击打开,在最后面加入

## Redis env
export PATH=$PATH:/usr/local/software/redis-5.0.7/src

 

redis-5.0.7文件夹名字可以自行更改,以后换版本什么的好方便。

保存后再centos命令输入source /etc/profile 使环境生效

输入redis-server如果看到成功启动redis就可以了。

退出后用ps -ef|grep redis看看是否有后台运行的redis

centos安装Redis和设置远程访问

看到还在后台运行,用kill –9 7920 我圈的位置,杀死后台。

防火墙:

firewall-cmd --permanent --add-port=6379/tcp  开放redis默认6379端口,更改端口也要改,

systemctl restart firewalld.service  重启防火墙

firewall-cmd --list-ports  查看端口

三、设置远程连接

在/usr/local/software/redis-5.0.7下新建文件夹conf,

把/usr/local/software/redis-5.0.7/redis.conf复制一份到该文件夹下

centos安装Redis和设置远程访问

双击打开,查找 bind 127.0.0.1 改成 #bind 127.0.0.1 这是绑定连接地址,绑定了其他不能连接的。

搜索 # requirepass foobared 在下面一行加入 requirepass 你的密码 。

搜索 protected-mode 把yes改成no,这是是否开启受保护模式。

如果要改端口,就搜索 port 6379 ,改成你的端口后,把防火墙的端口也要打开。

daemonize 是选择是否在后头运行,自己根据设置吧。

 

再次开启redis

redis-server /usr/local/software/redis-5.0.7/conf/redis.conf &

后面的&是让程序在后台运行。

本地连接redis查看密码是否有效

redis-cli

centos安装Redis和设置远程访问

随便设置一下键值。

set str2 bbb

会报(error) NOAUTH Authentication required.错误就表示需要密码。

用  auth 你的密码 来授权。再设置键值就成功了。

现在试试远程连接。

我使用的RedisDesktopManager工具,版本是0.9.3,这个是最后一个不收费版本,如何下载我就不说了,相信大家学这个也有自己本事。

 

打开选择 连接到 Redis 服务器

centos安装Redis和设置远程访问

填完点击测试连接

centos安装Redis和设置远程访问

到这一步就基本完成。

 

 

再放出我的命令笔记,以后不见的时候来复制粘贴找回就行了。。。

key键通用操作:
keys 通配符*、?、[]	模糊查询key
randomkey				随机返回一个键(是键不是值)
type 键					查询键的值类型
exists 键				查询键是否存在(0不存在,1存在)
del 键					删除键值
rename 键 新键			更改键名
renamenx 键 新键		新键不存在则成功(0失败,1成功)
move 键 1				将键值移动到1数据库(0失败,1成功)
ttl 键					查询键值的生命周期以秒为单位(键不存在返回-2,键永久有效返回-1)
pttl 键					查询键值的生命周期以毫秒为单位(键不存在返回-2,键永久有效返回-1)
expire 键 整数			设置键值的生命周期以秒为单位(0失败,1成功)
pexpire 键 整数			设置键值的生命周期以毫秒为单位(0失败,1成功)
persist 键				设置键值为永久有效(0失败,1成功)

字符串操作:
set 键 值  				设置键值,可以覆盖已有的
setnx 键 值  			设置多键值,键不存在则设置(0失败、1成功)
mset 键1 值1 键2 值2 	可以覆盖已有的
msetnx 键1 值1 键2 值2  键都不存在则设置(0失败、1成功)
setex 键 秒 值 			设置键值,并设置有效期
setrange 键 位置 值
设置键的值在指定位置上的字符,位置从0开始,
当位置大于值的长度,补0x00到位置前,返回当前的长度
get 键 					获取键的值
mget 键1 键2 			获取多键的值
getrange 键 开始 结束   获取键的值开始到结束范围的值,左数从0开始,右数从-1开始
getset 键 新值			获取旧值并设置新值
incr 键 				自增1(必须是整数),返回自增后的值,
incrby 键 2				自增2(必须是整数),返回自增后的值
incrbyfloat 键 0.7      自增浮点数,返回自增后的值

list链表操作:
			list类型是每个子元素都是string类型的双向链表
lpush key value 		值插入到头部(左),返回长度
rpush key value 		值插入到尾部(右)
lpop  key value			获取并删除头部元素
rpop  key value			获取并删除尾部元素
lrange key start stop	获取链表中start到stop的元素
lrem key count value	删除值,count=1从头删除,=-1从尾删除,=0全删除,返回删除个数
ltrim key start stop	剪切start到stop的值,再给自身赋值
lindex key index		获取index索引的值
llen key 				获取链表长度
linsert key after|before search value  链表中搜索search,并在之前或之后插入value,返回长度
rpoplpush source dest  	source的末尾拿出插入到dest头部,返回被操作的值
brpop/blpop key timeout	等待弹出key的尾/头元素,没有元素时等待到时间为止

hashes类操作:
			hash是key field value 方式的映射表,hash特别适合储存对象,会占用更少的内存,取出也方便
配置:
	hash_max_zipmap_entries 64	配置字段最多64个
	hash_max_zipmap_value 512	配置value最大为512字节
hset key field value 	设置key的field为value
hsetnx key field value 	field不存在下设置key的field为value
hmset key field1 value field2 value 同时设置多个field
hget key field 			获取key的field值
hmget key field1 field2	同时获取多个field
hincrby key field 4 	指定key的field值加上4
hexists key field 		查询key的field是否存在
hlen key 				获取key的field数量
hdel key field			删除key的field
hkeys key				获取key的所有field
hvals key				获取key的所有value
hgetall key				获取key的所有field及value

集合结构操作
	特点,无序、确定、唯一性。
sadd key value1 value2 	在key添加元素
smembers key 			获取key的所有元素
srem key value			删除key某个元素
spop key 				随机获取key中一个元素并删除
srandmember key 		随机获取key中一个元素
sismember key value 	查询key中是否有该元素
scard key 				返回key的元素个数
smove key1 key2 value	把key1的元素移动到key2中
sinter key1 key2 key3 	求key1、key2、key3的交集
sunion key1 key2 		求key1、key2的并集
sdiff key1 key2			求key1、key2的差集
sinterstore dest key1 key2  求key1、key2的交集并存到res里

有序集合
	它是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序。可以理解为有两列的mysql表,一列存储value,一列存储顺序,操作中key理解为zset的名字。
zadd key score1 value1		添加元素
zrange key start stop [withscore]	把集合排序后,返回名次[start,stop]的元素  默认是升续排列  withscores 是把score也打印出来
zrank key member			查询member的排名(升序0名开始)
zrangebyscore key min max [withscores] limit offset N	集合(升序)排序后取score在[min, max]内的元素,并跳过offset个,取出N个
zrevrank key member		查询member排名(降序 0名开始)
zremrangebyscore key min max	按照score来删除元素,删除score在[min, max]之间
zrem key value1 value2		删除集合中的元素
zremrangebyrank key start end	按排名删除元素,删除名次在[start, end]之间的
zcard key				返回集合元素的个数
zcount key min max			返回[min, max]区间内元素数量
zinterstore dest numkeys key1[key2..] [WEIGHTS weight1 [weight2...]] [AGGREGATE SUM|MIN|MAX]		求key1,key2的交集,key1,key2的权值分别是weight1,weight2