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 2 3 4 5 6 7 8 9 10 11 12 13
| # incr 将key中储存的数字值增一 通常应用于投票redis incr key # incrby 所储存的值加上增量increment incrby key increment
# decr 将 key 中储存的数字值减一 decr key
# strlen 返回key所储存的字符串值的长度 strlen key
# setex 设置key的值, 并将key的生存时间设为seconds(以秒为单位)。 setex key seconds value
|
- 哈希表
哈希表通常用来存储对象
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 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 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 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命令参考
评论系统未开启,无法评论!