redis简介
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 是单线程的
- 官网:https://redis.io/
- 中文社区:http://www.redis.cn/
linux下redis安装
环境:Ubuntu Server 18.04.1 LTS 64bit
1.下载源码
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
2.解压
tar xzf redis-6.0.9.tar.gz
3.将安装文件移动到user/local
下
sudo mv ./redis-6.0.9 /usr/local/redis
cd /usr/local/redis
4.编译redis(注意:查看gcc-g++是否安装)
sudo make
5.测试编译是否成功
sudo make test
bug:
*** [err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl
rdb child didn't terminate
*** [err]: diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl
rdb child didn't terminate
直接安装,索性没有出问题。
6.安装
sudo make install
连接redis
先将/usr/local/redis
下的redis.conf配置文件移动到/usr/local/bin/kconfig
中
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ sudo mkdir kconfig
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ l
chardetect* jsonschema* kconfig/ pip* pip2* pip2.7* redis-benchmark* redis-check-aof* redis-check-rdb* redis-cli* redis-sentinel@ redis-server*
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ sudo cp /usr/local/redis/redis.conf /usr/local/bin/kconfig/
修改kconfig/redis.conf
(由于redis默认不是后台启动的,因此需要修改配置文件!)
ubuntu@VM-8-7-ubuntu:/usr/local/bin/kconfig$ sudo vim redis.conf
启动redis服务
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ redis-server kconfig/redis.conf
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ ls
chardetect jsonschema kconfig pip pip2 pip2.7 redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
#使用redis客户端进行连接
ubuntu@VM-8-7-ubuntu:/usr/local/bin$ redis-cli -p 6379
127.0.0.1:6379> PING
PONG
127.0.0.1:6379>
查看redis进程是否开启
开启新的shell查看进程
ps -ef|grep redis
关闭redis
shutdown
exit
BUT,有BUG出现◑﹏◐
127.0.0.1:6379> shutdown
(error) ERR Errors trying to SHUTDOWN. Check logs.
参考博客
(error) ERR Errors trying to SHUTDOWN. Check logs.错误
简单命令
select 3 #切换数据库
dbsize #查看数据库大小
keys * :查看当前数据库中所有的key。
flushdb:清空当前数据库中的键值对。
flushall:清空所有数据库的键值对。
安装hiredis库
Hiredis是一个用于Redis数据库的极简C客户端库。
它是极简主义的,因为它只增加了对协议的最小支持,但同时它使用了一个类似于printf的高级API,以使其比最小代码库和缺少每个Redis命令的显式绑定所建议的更高级别。
除了支持发送命令和接收回复之外,它还附带了一个与I/O层分离的回复解析器。它是一个流解析器,旨在实现简单的可重用性,例如可以在更高级别的语言绑定中使用,以实现高效的应答解析。
Hiredis只支持二进制安全的Redis协议,因此您可以将其用于任何Redis版本>=1.2.0。
该库具有多个API。有同步API、异步API和应答解析API。
git clone https://github.com/redis/hiredis.git
cd hiredis
make
sudo make install
重新加载动态库链接
sudo ldconfig
- 相关头文件安装在/usr/local/include目录下
- 动态库文件安装在/usr/local/lib目录下
pengge@pengge-virtual-machine:~/Desktop/redis/hiredis$ ls /usr/local/include
Eigen eigen3 hiredis pybind11 python3.7m
pengge@pengge-virtual-machine:~/Desktop/redis/hiredis$ ls /usr/local/lib
libhiredis.a libhiredis.so.1.1.1-dev pkgconfig python3.7
libhiredis.so libpython3.7m.a python2.7 python3.8