redis是什么
Remote Dictionary Server远程字典服务
C语言编写的
免费和开源,当下最热门的nosql的技术之一,也被人们称为结构化数据库
redis能做什么
内存存储
内存中断电即失去
持久化
rdb,aof
效率高,高速缓存
发布订阅
地图信息分析
计时器、计数器(浏览量)
redis 特性
多样的数据类型
持久化
集群
事务
redis安装
window
双击server启动了
使用客户端连接redis
双击client
测试连接ping
记住window使用redis比较简单,但是推荐使用linux使用
linux
解压,程序建议放在/opt文件下下面
mv redis /opt
tar -zxvf redis
然后需要安装c++的环境,因为redis是c++编写的
然后需要make ,配置redis的其他环境
redis的默认安装路径 /usr/local/bin
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录
将redis配置文件
redis默认不是后台启动的,需要修改配置文件
改为yes,以后台的方式启动
启动redis服务
进行连接
测试连接
关闭redis服务
redis-benchmark
官方一个压力测试工具
简单测试一下,100个并发连接,100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
基础知识
redis默认有16个数据库
默认使用第0个
可以使用select数据库
查看db大小
keys *
查看所有的key
flushall 清空全部
flushdb 清空当前DB
redis是单线程的
redis是基于内存进行操作的,cpu不是redis性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程,就是用单线程了
redis为什么单线程为什么快
C语言写的,每秒 10W+Qps,不比memached差
误区:高性能的服务一定是多线程的/多线程效率一定比单线程效率高
核心:redis将所有的数据放入内存中,所以说使用单线程操作效率是最高的(cpui上下文会切换:耗时),对于内存系统来说,没有上下文切换效率就是最高的,多次读写都在一个cpu上