redis的安装:
第一种方法:
1.首先在官网上下载redis最新的版本,命令如下:
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2.解压下载的redis压缩包
tar -vxzf redis-4.0.8.tar.gz
3.进入src目录并make
make
4.编译完成后可以使用如下命令进行测试
make test
注:如果make过程中出现了如下错误:
error: jemalloc/jemalloc.h: No such file or directory
就执行make MALLOC=libc 就OK了,不过在执行这一句之前最好先执行
make clean清理一下。
5、启动方法 在src目录下 ./redis-server
第二种方法:
sudo apt-get update
sudo apt-get install redis-server
启动 Redis
redis-server
查看 redis 是否启动?
redis-cli
以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379> ping
PONG
有时候会有中文乱码 连接的时候需要 redis-cli --raw
Redis常用命令集
- 常用管理命令:
ping:测试连接情况,默认恢复'PONG'
quit/exit:退出客户端
auth:密码认证
config:配置命令,可以查看和设置配置信息,参考密码查看与设置
info:查看服务器信息,可以指定具体模块查看
command:查看支持的命令
select:选择库,总共16个,默认为0数据库;提示符后会有库号的提示,没有就是默认的库(0)
flushdb:清空当前库
flushall:清空所有库
save:前台执行持久化存储
bgsave:后台执行持久化存储
- 键(keys):
exists:判断指定的键是否存在
del:删除指定的键值对
keys:查看指定样式的键,keys *表示查看所有
ttl:查看指定键的剩余有效时间,单位为秒,不存在键返回-2,永久返回-1
expire:设置指定键的生存时间
persist:移除指定键的生存时间,之后该键永久有效
move:移动指定的键到指定的库
rename:修改指定键的名字
- 字符串(string)
set:设置,存在就修改,不存在就添加
get:获取,获取指定键的值
mset:同时设置多个键值对
mget:同时获取多个键对应的值
getset:设置新值,同时返回旧值
setex:设置值及过期时间,单位为秒
incr:数字值加1
decr:数字值减1
incrby:数字值加上指定值
decrby:数字值减去指定值
incrbyfloat:数字值加上一个浮点数
append:键存在,值为字符串,追加指定的内容到原值的末尾
strlen:返回键对应值的字符长度
- 哈希(hash)类
hset:设置单个属性
hget:获取单个属性
hmset:设置多个属性
hmget:获取多个属性
hgetall:获取所有属性
hexists:判断指定键是否有指定的字段
hdel:删除指定键的指定字段
hkeys:获取指定键的所有字段
hvals:获取指定键的所有字段值
hlen:获取指定键的字段个数
hincrby:在指定键的指定字段上增加一个整数
hincrbyfloat:在指定键的指定字段上增加一个浮点数
```
- 列表(list)
```
lpush:从左边(头部)插入数据
lpop:从左边(头部)删除并返回数据
lrange:获取区间内的数据,0 -1通常可以表示所有范围
lindex:根据索引获取元素
llen:统计列表中元素个数
lset:设置指定索引的元素值
lrem:删除指定数量的元素
linsert:在指定元素的前/后插入元素
ltrim:修剪列表元素(保留指定范围内地,删除其他)
rpop:从右边(尾部)删除并返回数据
rpush:从右边(尾部)插入数据
- 集合(set)
```
sadd:向集合中添加元素(集合不存在会自动创建,随机插入)
scard:统计集合中元素的个数
smembers:返回所有元素
sismember:判断某个元素是否是集合的成员
spop:随机删除并返回指定个数的元素,不指定个数默认一个元素
srandmember:随机获取指定个数的元素
srem:移除指定元素
smove:将指定的元素从一个集合移动到另一个集合中
sinter:求交集
sinterstore:求交集并保存到一个集合中
sdiff:求差集
sdiffstore:求差集并保存到一个集合中
sunion:求并集
sunionstore:求并集并保存到一个集合中
```
- 有序集合(sorted set)
```
zadd:添加元素
zcard:统计元素个数
zcount:指定分数区间统计
zrange:返回指定索引范围内的元素(升序),zrevrange:降序
zrangebyscore:返回指定分数区间的元素(升序),zrevrangebyscore:降序
zrank:返回指定元素的索引(升序),zrevrank:降序
zrem:移除元素
zscore:返回元素的分数
zincrby:将元素的分数增加一个值
zinterstore:求交集并保存
zunionstore:求并集并保存
redis的发布订阅:
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
创建订阅频道名
subscribe name
通过publish name去往频道名字里面推送信息
然后客户端就能收到此订阅信息