Redis简介
- Redis是一个开源的使用
ANSI C
语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware
主持。从2013年5月开始,Redis的开发由Pivotal赞助。 - Redis是
NoSQL
技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色。
Redis特性
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供str,list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
如何安装Redis
-
下载
redis
安装包 -
解压
redis
安装包tar -zxvf redis-3.2.8.tar.gz
-
复制
redis
文件,放到usr/local
目录下sudo mv ./redis-3.2.8 /usr/local/redis/
-
进入
redis
目录cd /usr/local/redis/
-
生成
redis
数据文件sudo make
-
测试redis数据库,但是运行时间可能会较长
sudo make test
-
安装
redis
,将redis
命令安装到usr/bin
目录sudo make install
-
安装完成后,我们进入目录/usr/bin中查看
cd /usr/bin
ls -all
redis
基本知识- redis-server redis服务器
- redis-cli redis 命令行客户端
- redis-benchmark redis 性能测试工具
- redis-check-aof AOF 文件修复工具
- redis-check-rdb RDB 文件检索工具
-
配置⽂件,移动到/etc/⽬录下
配置⽂件⽬录为:
/usr/local/redis/redis.conf
sudo cp /usr/local/redis/redis.conf /etc/redis/
配置Redis数据库
Redis的配置信息在/etc/redis/redis.conf
目录下:
sudo vi /etc/redis/redis.conf # 查看redis配置信息
Redis核心配置:
- 绑定ip:如果需要远程访问,可将此⾏注释(等价于
bind 0.0.0.0
),或绑定⼀个真实ip,bind 127.0.0.1
- 绑定端⼝,默认为6379 :
port 6379
- 是否以守护进程运⾏:
daemonize yes
- 如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务
- 如果以⾮守护进程运⾏,则当前终端被阻塞
- 设置为yes表示守护进程,设置为no表示⾮守护进程
- 推荐设置为yes
- 数据⽂件:
dbfilename dump.rdb
- 数据⽂件存储路径:
dir /var/lib/redis
- ⽇志⽂件:
logfile /var/log/redis/redis-server.log
- 数据库,默认有16个:
database 16
- 主从复制,类似于双机备份:
slaveof
使用Redis服务器和客户端命令
-
服务器端
服务器端的命令为
redis-server
可以使⽤help查看帮助⽂档:
redis-server –help
-
启动
Redis
sudo service redis start
-
停止
Redis
服务sudo service redis stop
-
重启
Redis
服务sudo service redis restart
-
一般操作:
- ps -ef|grep redis 查看redis服务器进程
- sudo kill -9 pid 杀死redis服务器
- sudo redis-server /etc/redis/redis.conf 指定加载的配置文件
-
客户端
客户端的命令为:
redis-cli
可以用help查看帮助文档:
redis-server –help
-
连接
redis
redis-cli
切换数据库
-
数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库
select n
Redis和Python交互
-
联⽹安装包
redis
pip install redis
-
联⽹安装包
redis
easy_install redis
-
到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装
- wget https://github.com/andymccurdy/redis-py/archive/master.zip
- unzip master.zip
- cd redis-py-master
- sudo python setup.py install
Redis主从配置
配置主从
-
修改etc/redis/redis.conf文件
sudo vi redis.confbind 192.168.xxx.xxx
-
重启redis服务
sudo service redis stop
redis-server redis.conf
Redis配置文件操作
-
复制etc/redis/redis.conf文件
sudo cp redis.conf ./slave.conf
-
修改redis/slave.conf文件
sudo vi slave.conf
-
编辑内容
bind 192.168.xxx.xxxslaveof 192.168.xxx.xxx 6379port 6378
-
redis服务
sudo redis-server slave.conf
-
查看主从关系
redis-cli -h 192.168.xxx.xxx info Replication