Redis入门

Redis入门

概述

Redis是什么?

Redis(Remote Dictionary Server)
是一个开源的使用ANSI C语言编写、支持网络、可支持内存亦可持久化的日志型、key-value数据库,并提供多种语言的API

Redis能干嘛?

  1. 内存存储、持久化,内存中是断电即失、所以持久化很重要(rdb,aof)
  2. 效率高,可用于高速缓存
  3. 发布订阅系统
  4. 地图信息分析
  5. 计时器、计数器(浏览量!)
  6. …………

特性

  1. 多样的数据类型
  2. 持久化
  3. 集群
  4. 事务
  5. ……

Linux下安装redis

官方建议Redis安装在Linux环境下,具体安装过程建议使用cocker安装方便快捷,具体参考:Docker安装Redis并使用

性能测试

参考上述教程将redis容器启动,如图:
在这里插入图片描述
新开启一个窗口,使用redis-benchmark开头,拼接需要使用参数如下: (使用100个并发连接、100000个请求检测端口为6379的Redis服务器性能)

redis-benchmark -a 密码 -h localhost -p 6369 -c 100 -n 100000 

使用参数说明
在这里插入图片描述
执行结果:
在这里插入图片描述

基础知识

redis有16个默认的数据库,默认使用的是第0个

  • 可使用select n切换数据库
  • 可使用DBSIZE查看当前库大小
127.0.0.1:6379> select 3 #切换数据库
OK
127.0.0.1:6379[3]> dbsize
(integer) 0
127.0.0.1:6379[3]> 
  • 使用keys * 查看所有的key
127.0.0.1:6379> keys *
1) "key:__rand_int__"
2) "counter:__rand_int__"
3) "myhash"
4) "name"
5) "age"
  • 使用flush清除数据,flushall:清除所有,flushdb:清除当前库
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> 

Redis 为什么是单线程的?

Redis是很快的,官方表示,redis基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络的带宽,既然可以使用单线程就是用单线程了。
Redis是C语言写的,官方提供的数据为100000+的QPS,完全不比同样是使用key-vale的Memecache差!
Redis为什么单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU会上下文切换)一定比单线程效率高!

  • 速度 CPU>内存>硬盘
  • 核心:rdis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作),对于内存系统来说,如果没有上下文切换的话效率就是最好的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值