Redis_入门 redis入门
1. 概述
1. 什么是Redis
-
Redis = Remote Dictionary Server 即远程字典服务
-
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
-
免费和开源, 是当下最热门的的NoSQL技术之一, 也被人们称之为机构化数据库
-
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
-
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
-
Redis支持数据的备份,即master-slave模式的数据备份。
2. Redis能干什么
- 内存存储, 持久化 ==== 因为内存中是断电即失, 所以说持久化很重要(rdb, aof)
- 效率高, 可以用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器, 计数器(可以用来实现浏览量的统计)
- ......
3. Redis的特性
- 多样的数据类型
- 持久化
- 集群
- 事务
- ......
2. 安装
1. Windows版本
在Github上下载, Redis推荐都是在Linux服务器上搭建的
下载地址为 https://github.com/tporadowski/redis/releases
得到压缩包, 解压到自己电脑的环境目录下即可
开启Redis, 双击运行server即可
默认端口是6379
使用Redis客户端(cli)连接Redis, 此时服务端不要关闭
windows下使用确实简单, 但是Redis推荐我们使用linux去开发
2. 在Linux上安装
安装过程略, 我们安装在 /opt 目录下, 将一份配置文件拷贝到 /usr/local/bin/myconfig 目录下, 以后修改这里的配置文件就可以了
启动Redis 在 /usr/local/bin 目录下, 执行 redis-server myconfig/redis.conf 使用/myconfig中的配置文件启动
启动客户端测试 redis-cli -p 6379
查看redis服务是否开启
关闭redis服务 shutdown
3. 测试性能
redis-benchmark 是一个压力测试工具
测试100个并发连接, 1s发送100000个请求
redis- benchmark -h Localhost -p 6379 -C 100 -n 100000
参数解释
- 对 100000 请求进行写入测试
- 100 个并发客户端
- 每次写入 3 个字节
- 只有一台服务器来处理这些请求, 单机性能
4. 基础知识
-
redis默认有16个数据库, 默认使用的是第0个
- 可以使用select进行切换数据库
-
查看数据库大小 dbsize
-
**查看数据库所有的key keys ***
-
清除当前数据库 flushdb
-
清除全部数据库 flushall
5. Redis是单线程的
- Redis是很快的, 官方表示, Redis是基于内存操作, CPU不是Redis性能瓶颈, Redis的瓶颈是根据机器的内存和网络带宽, 因此使用单线程来做
- 为什么单线程还这么快
- Redis是C语言写的, 官方提供的数据为 100000+ 的QPS, 完全不比同样使用kv的Memecache差!
- 误区1 : 高性能的服务器一定是多线程的
- 误区2 : 多线程一定比单线程效率高 (由于CPU上下文会切换, 不一定比单线程高)
- 核心: redis是将所有的数据全部放在内存中, 所以说使用单线程去操作, 效率就是最高的! 对于内存系统来说, 如果没有上下文切换效率就是最高的! 多次读写都是在一个CPU上的, 在内存情况下这个就是最佳的解决方案