Redis 入门学习,学习使我快乐01

Redis 入门

Redis 是什么?

Redis(Remote_Dictionary Server) ,即远程字典服务!
是一个开元的使用ANSI C语言编写,支持网咯,可给予内存亦可持久化的日志型,KEY-value 数据库,并提供多种语言的API
免费和开源!当下最热门的NOSQL 技术之一!,也被人门称之为结构化数据库!


Redis 能干嘛?

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

特性

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

学习中需要用到的东西

  1. 狂神的公众号:狂神说
  2. 官网:https:/redis.io/
  3. 中文网:http://www.redis.cn/
  4. 下载地址:通过官网下载即可
    在这里插入图片描述
    注意:Window是在GitHup 上下载(停更很久了)
    Redis 推荐都是在linux 服务器上搭建的,我们是基于Linux 学习

Windows 下安装


  1. 下载安装包
  2. 链接: https://pan.baidu.com/s/16WCX9LSiaBNevHhfNLhKqA 提取码: 9ns3 )
  3. 下载完毕得到压缩包
    在这里插入图片描述
    3.解压到自己的电脑上,Redis十分的小,只有5M
    在这里插入图片描述
  4. 开启Redis,双击redis-server.exe,运行服务即可
    在这里插入图片描述

5.使用客户端连接redis (点击redis-cli.exe)

在这里插入图片描述
记住一句话,Windows下使用确实简单,但是Redis推荐我们使用Linux 开发使用!

Linux 安装

  1. 下载安装包,然后再linux 平台安装,如果小伙伴门没有linux 服务器,可以点击链接: 腾讯云购买试用版服务器,价格优惠.或者扫码:
    在这里插入图片描述
    注册,然后再腾讯云购买服务器
    在这里插入图片描述
    博主也买了一台,一年也就100 快钱,好了,我们下载压缩包
    在这里插入图片描述
    下完后是这样的
    在这里插入图片描述
    连接到linux 服务器
    在这里插入图片描述
    将包拖到home 目录下面
    在这里插入图片描述
  2. 开始解压:程序建议在obt 目录 mv 移动到obt
    在这里插入图片描述
  3. 使用命令: tar -xzvf redis-5,0.77.tar.gz 解压如下在这里插入图片描述
  4. 进入解压后的文件。可以看到redis 的配置文件
    在这里插入图片描述
  5. 基本的环境安装

yum install gcc-c++
查看gcc -v 是否安装完成,如图:
在这里插入图片描述

  1. 使用make 命令,出现如图结尾,安装完毕
    在这里插入图片描述

  2. make install
    在这里插入图片描述

  3. redis 的默认安装路径: usr,默认安装到usr,local ,redis-server 目录下面
    在这里插入图片描述

  4. 将我们的redis 目录下复制到当前目录
    在这里插入图片描述

  5. reids 默认不是后台启动的,修改配置文件,改为yes 变为后台启动
    在这里插入图片描述

  6. 启动redis 服务,通过指定的配置文件启动
    在这里插入图片描述

  7. 使用cli-redis 测试连接
    在这里插入图片描述

  8. 查看redis 的进程是否开启
    在这里插入图片描述

  9. 如何关闭Redis 服务
    在这里插入图片描述

  10. 再次查看进程是否存在
    在这里插入图片描述

测试性能

redis-benchmark 是一个压力测试工具
在这里插入图片描述
我们来简单测试下:

#测试:100个并发连接,每个并发100000个请求
redis-benchmark -h localhost -p 6379 -c 100 -n100000

在这里插入图片描述

基础的知识

redis 默认有16个数据库
在这里插入图片描述
默认使用的是第0个,

127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> dbsize   #查看db 大小
(integer) 0

127.0.0.1:6379[3]> set name qingjiang
OK
127.0.0.1:6379[3]>
127.0.0.1:6379[3]>
127.0.0.1:6379[3]>
127.0.0.1:6379[3]> dbsize
(integer) 1  # 3号数据库长加1

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 0   # 其他数据长度还是0
127.0.0.1:6379[3]> keys *    # 查看所有的key
1) "name"

127.0.0.1:6379[3]> flushdb   * 清空所有的key
OK
127.0.0.1:6379[3]> keys *
(empty list or set)
127.0.0.1:6379[3]>

127.0.0.1:6379> select 0
OK
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> keys *    # 第一个数据库里面的这些事压测工具留下的key 值,我们清掉它
1) "key:__rand_int__"
2) "counter:__rand_int__"
3) "myset:__rand_int__"
4) "mylist"
5) "name"

127.0.0.1:6379> flushall   #清除所有数据的内容
OK
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> keys *
(empty list or set)
127.0.0.1:6379[3]>

为什么redis 是6379!
开发软件的人喜欢的一个明星名字,手机键盘上是6379,mysql 3306 端口也是开发人女儿的名字,扩展一下,哈哈哈

Redis 是单线程的!

明白Redis 是很快的,官方表示,Redis 是基于内存操作,CPU 不是Redis 性能瓶颈,Redis 的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程!所以就使用了单线程了!

Redis 是C语言写的,官方提供的数据为1000000+QPS ,完全不比同样是key-value 的Memecace 差!

Redis 为什么单线程还这么快?
1.误区1:高性能的服务器一定是多线程的?
2.误区2:多线程(CPU上下文切换耗时!每次是1500-2000 纳秒,如果切换太频繁则会太耗时)一定比单线程效率高!
先去 CPU,内存,硬盘的速度要有所了解!
核心:redis 是将所有的的数据全部放在内存中的,所以说使用单线程去操作效率是最高的,多线程(CPU 上下文切换:耗时的操作!!),对于内存系统来说,如果没有上下文切换效率就是最高的! 多次读写都是在一个CPU 上的,在内存情况下,这个就是最佳的方案!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值