logo头像
Snippet 博客主题

Redis安装配置及基本操作

Redis(REmote DIctionary Server) 是一个由Salvatore Sanfilippo写的key-value存储系统。

​ Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis安装及配置

1. redis安装

下载地址:http://redis.io/download

1
2
3
4
5
Linux 下安装
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make

2. 修改redis.conf文件配置

1
2
3
4
5
cp redis-3-2-11/redis.conf redis.conf 拷贝文件避免更改错误
61行 -- bind 172.27.0.11 绑定内网地址
84行 -- port 6379 默认端口
480行 -- requirepass liutc1014? 删除注释,修改密码
179行 -- databases 16 默认redis下16个数据库

3. redis-server 服务器

1
2
3
4
5
6
启动服务器
redis-server myredis.conf 启动redis服务器
redis-server myredis.conf > myredis.log & 后台运行
关闭服务器
jobs --> fg %1 --> ^c 关闭redis服务器(自动保存)
kill 进程号 关闭redis服务器 不保存

4. redis-cli 客户端

1
2
3
4
redis-cli -h 172.27.0.11(内网地址) -p 端口号(默认端口可以省略) 连接服务器
172.27.0.11:6379> auth liutc1014? 验证
172.27.0.11:6379> ping 查看是否连接
PONG

Redis命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# set 设置键
set key value

# get 获取键的值
get key

# del 删除键
del key

# 查看所有键
keys *

# 设置键过期时间
set key value ex seconds
# 给未设置过期时间的键设置过期时间
expire key seconds

# ttl 查看过期时间
ttl key
(integer) -2 # 已过期
(integer) -1 # 永远不过期

# 数据持久化
bgsave

# 切换到index号数据库
select index

# flushall 清空所有数据库
flushall
# flushdb 清空当前数据库
flushdb

# 停止服务器并保存/不保存数据
shutdown save/nosave

# info 查看信息
info

# type 查看键的类型
type key
  1. 字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
# incrkey中储存的数字值增一  通常应用于投票redis
incr key
# incrby 所储存的值加上增量increment
incrby key increment

# decrkey 中储存的数字值减一
decr key

# strlen 返回key所储存的字符串值的长度
strlen key

# setex 设置key的值, 并将key的生存时间设为seconds(以秒为单位)。
setex key seconds value
  1. 哈希表
    哈希表通常用来存储对象
1
2
3
4
5
6
7
8
9
10
11
12
13
# 设置字段
hset key field value

# 获取字段的值
hget key field
# 获取字段所有值
hgetall key

# 删除字段
hdel key field

# hincrby 给域field的值加上增量increment
hincrby key field increment
  1. 列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# lset
lset key index value

# lpush / rpush 从左边/右边插入元素
lpush key value [value ...]

# linsert 在值pivot前后插入元素
linsert key brfore/after pivot value

# lset 修改列表下标为index的元素的值
lset key index value

# lindex 返回列表中,下标为index的元素
lindex key index
# lrange 获取指定区间内的值
lrange key start stop


# lpop / rpop 从左边/右边删除一个元素
lpop/rpop key
# lrem 根据参数count的值,移除列表中与参数value相等的元素
lrem key count value
  1. 集合
1
2
3
4
5
6
7
8
9
10
11
12
# 插入元素
sadd key member [member ...]
# 查看集合内元素
smembers key

# spop 移除随机一个元素
spop key
# srem 移除一个或多个元素,不存在的元素会被忽略
srem key member [member ...]

# 求交并差集 交集(sinter) / 并集(sunion) / 差集 sdiff
sinter/sunion/sdiff key [key ...]
  1. 有序集合
1
2
3
4
5
6
7
8
# zadd 添加元素
zadd key score member [[score member] [score member] ...]

# zrange/zrevrange 正序/倒序输出
zrange key start stop

# zincrby 给元素添加增量
zincrby key increment member

更多内容详见redis中文官方文档: Redis命令参考

评论系统未开启,无法评论!