Redis 入门
概述
Redis 是什么?
Redis(Remote Dictionary Server),即远程字典服务
是一种开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API
Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在基础上实现 master-slave主从同步
Redis 能干什么
- 内存存储、持久化,内存中是断电即失、所以持久化很重要(rdb、aof)
- 效率高,可以用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(浏览量)
- 。。。。
特性
- 多样的数据类型
- 持久化
- 集群
- 事务
- 。。。。
redis 的中文网站:http://www.redis.cn/
安装redis
- 下载 redis 源码
- make && make install
- 默认安装路径:/usr/local/bin/ 下
- redis 默认不是后台启动,配置中 daemonize 改为 yes
- 启动 redis-server ../etc/redis.conf
- redis-cli -p 6379 使用 redis 客户端连接 redis-server
关闭redis 服务,redis cli 中直接 shutdown 就可以关闭 redis-server
测试性能
redis-benchmark 命令测试工具
1 | # 测试: 100个并发连接 100000 请求 |
基础的知识
redis 默认有16个数据库,默认使用第0个。在配置文件中 databases 16
1 | select 3 # 切换到第三个数据库 |
Redis 是单线程的
Redis 基于内存操作,CPU不是redis 性能瓶颈,Redis 的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程,就没有必要使用多线程。
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率是最高的,多线程(CPU上下文切换:耗时的操作),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是一个CPU上的,在内存情况下,这个就是最佳的方案。