Redis是什么 ?
Redis(Remote Dictionary Server ),远程字典服务- 它是一个开源的使用ANSI
C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 - 免费和开源,是当下最热门的
NoSQL技术之一,也被人们称之为结构化数据库。 redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis能做什么?
- 内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
- 效率高,可以用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器,浏览量
Redis的特性
- 多样的数据类型
- 持久化
- 集群
- 事务
linux安装redis
- 服务器安装
- 下载安装包到linux
- 解压
- 安装环境
yum install gcc-c++ - 配置环境
make - 检查
make install - redis默认不是后台启动的,要修改配置文件
dameonize=no改为yes - 启动Redis服务
redis-server config redis.conf - 使用redis-cli 进行连接测试
redis-cli -p 6379 - 查看redis的进程是否开启
ps -ef|grep redis - 关闭服务
shutdown
redis-benchmark:压力测试工具
它是官方自带的性能测试工具

基础知识
redis默认有16个数据库,在redis.conf中可以看到。默认使用的是第0个数据库。- 可以使用
select进行切换数据库 DBSIZE查看数据库大小keys *#查看数据库所有的key- 清除当前数据库
flushdb - 清除全部数据库的内容
FLUSHALL - 为什么
redis是 6379?作者是某女歌星的粉丝,哪位女歌星的名字在键盘上对应的键位是6379。mysql端口是3306,是她女儿名字的缩写。 - Redis 是C 语言写的,官方提供的数据为
100000+的QPS,完全不比同样是使用key-vale的Memecache差! - Redis 是单线程的,而且是很快的
官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,而是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了,但是redis6.0之后更新为多线程了。 - Redis 为什么单线程还这么快?
误区1: 高性能的服务器不一定都是多线程的
误区2: 多线程(CPU上下文会切换)也不一定比单线程效率高
核心: redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案。
1224

被折叠的 条评论
为什么被折叠?



