一、安装
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
tar xzf redis-6.0.9.tar.gz
cd redis-6.0.9
make
执行完 make
命令后,redis-6.0.9 的 src
目录下会出现编译后的redis服务程序redis-server
,还有用于测试的客户端程序redis-cli
:
下面启动 redis 服务(这种方式启动 redis 使用的是默认配置):
cd src
./redis-server
启动 redis 服务进程后,就可以使用测试客户端程序redis-cli
和 redis 服务交互了。 比如:
cd src
./redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
设置密码:
127.0.0.1:6379> config set requirepass 123456
OK
查看密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
此时连接到主机为127.0.0.1
,端口为6379
,密码为123456
的 redis 服务上:
./redis-cli -h 127.0.0.1 -p 6379 -a "123456"
二、环境配置
进入redis
目录下:
cd deps/hiredis
现在目录下是这些文件,这里有个makefile
文件:
sudo make install
一步到位!以后想要使用redis相关的API,只要包含以下头文件就行了:
#include<hiredis/hiredis.h>
如果想使用动态库,就(我是用qt,所以是在.pro
中加上):
LIBS += -L/usr/local/lib/ -lhiredis
三、数据类型
数据类型 | 类似于 | 特性 | 场景 |
---|---|---|---|
string | map<string,string> | 二进制安全,可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M | |
hash | map<string,map<Object,Object>> | 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值 | 存储、读取、修改用户属性 |
list | map<string,list> | 类似于双向链表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边),增删快 | 1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列 |
set | map<string,set<Object,Object>> | string 类型的无序集合,哈希表实现,不允许重复的成员;添加、删除,查找的复杂度都是O(1) ,为集合提供了求交集、并集、差集等操作 | 1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐 |
zset(sorted set) | 类似于set但更复杂,将set中的元素增加一个权重参数score,元素按score有序排列 | 数据插入集合时,已经进行天然排序 | 1、排行榜 2、带权重的消息队列 |