记录下步骤以后用到时翻一翻。
在redis官网的下载页面,这里可以选择离线包或在线下载。
我选择在线的,在下载页面往下拉到 Installation
这里官方已经教你如何在线下载了,我们按步骤来。
在centos找一个位置,我选择/usr/local/software/目录下
执行
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
如果执行两次还是下载不了可以现在离线或百度一下解决办法。
用ls查看会多出
解压
tar xzf redis-5.0.7.tar.gz
进入
cd redis-5.0.7
编译
make
查看是否可以启动
src/redis-server
以上就是成功的,按ctrl+c退出关闭。
环境变量可以不配置,不过每次开启需要输入全局路径。
不过在编辑之前我推荐下载notepad++文本编辑器,
下载打开后再工具栏找到插件,打开插件管理,
搜NppFTP,勾上后点击安装,等待安装完自动打开。
在插件工具栏打开
打开设置
点击Add new 名字自取
我设置完后
关闭后点击输入密码连接选择是后
现在可以愉快的编辑了。
选择/文件夹点一下
找到/etc/profile 双击打开,在最后面加入
## 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
看到还在后台运行,用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复制一份到该文件夹下
双击打开,查找 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
随便设置一下键值。
set str2 bbb
会报(error) NOAUTH Authentication required.错误就表示需要密码。
用 auth 你的密码 来授权。再设置键值就成功了。
现在试试远程连接。
我使用的RedisDesktopManager工具,版本是0.9.3,这个是最后一个不收费版本,如何下载我就不说了,相信大家学这个也有自己本事。
打开选择 连接到 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