一、Redis基础入门
1.redis介绍
- edis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能,
- 流水线: Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。
2.特性
- 速度快,数据放在内存中,官方给出的读写性能10万/S,与机器性能也有关
为什么速度快?
①数据放内存中是速度快的主要原因
②C语言实现,与操作系统距离近
③使用了单线程架构,预防多线程可能产生的竞争问题 - 键值对的数据结构服务器
- 丰富的功能:见上功能
- 简单稳定:单线程
- 持久化:发生断电或机器故障,数据可能会丢失,持久化到硬盘
- 主从复制:实现多个相同数据的redis副本
- 高可用和分布式:哨兵机制实现高可用,保证redis节点故障发现和自动转移
- 客户端语言多:java php python c c++ nodejs等
3.使用场景
1,缓存:合理使用缓存加快数据访问速度,降低后端数据源压力
2,排行榜:按照热度排名,按照发布时间排行,主要用到列表和有序集合
3,计数器应用:视频网站播放数,网站浏览数,使用redis计数
4,社交网络:赞、踩、粉丝、下拉刷新
5,消息队列:发布和订阅
二、安装
1、依赖包检查
yum install cpp -y
yum install binutils -y
yum install glibc-kernheaders -y
yum install glibc-common -y
yum install glibc-devel -y
yum install gcc -y
yum install make -y
2、下载redis源码,解压
$ cd /usr/local
$ mkdir soft
$ cd soft
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
$ tar xzf redis-4.0.6.tar.gz
$ cd redis-4.0.6
$ make
mkdir /usr/local/redis
cp redis-server /usr/local/redis
cp redis-benchmark /usr/local/redis
cp redis-check-rdb /usr/local/redis
cp redis-sentinel /usr/local/redis
cp redis-cli /usr/local/redis
cd redis-4.0.6
cp redis.conf /usr/local/redis
3、修改配置文件
1,在redis.conf第89行,将protected-mode no
2,在redis.conf第71行修改下bind 192.168.42.111 (ip为你linux的ip);
3,在redis.conf第502行,加上 requirepass "12345678", 登录密码
4、启动、测试连接
1,启动redis: ./redis-server redis.conf &
2,连接redis: ./redis-cli -h 192.168.42.111 -p 6379 -a 12345678
三、基本文件详解
redis-server:启动redis
redis-cli:redis命令行客户端
redis-benchmark:基准测试工具
redis-check-aof:AOF持久化文件检测和修复工具
redis-check-dump:RDB持久化文件检测和修复工具
redis-sentinel:启动哨兵
四、redis启动
1,默认配置:redis-server, 日志输出版本信息,端口6379
2,运行启动:redis-server --port 6380 不建议
3,配置文件启动: redis-server /opt/redis/redis.conf,灵活,生产环境使用这种
4,redis-cli 启动
①交互式:redis-cli -h {host} -p {prot}连接到redis服务,没有h默认连127.0
redis-cli -h 127.0.0.1 -p 6379 //没有p 默认连6379
②命令式:redis-cli -h 127.0.0.1 -p 6379 get hello //取key=hello的value
③停止redis服务: redis-cli shutdown
注意:
a,关闭时:断开连接,持久化文件生成,相对安全
b,还可以用kill关闭,此方式不会做持久化,还会造成缓冲区非法关闭,可能会造成AOF和丢失数据
c,关闭前生成持久化文件:
五、重大版本
1,版本号第二位为奇数,为非稳定版本(2.7、2.9、3.1)
2,第二为偶数,为稳定版本(2.6、2.8、3.0)
3,当前奇数版本是下一个稳定版本的开发版本,如2.9是3.0的开发版本
网友评论