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

莫道桑榆晚,为霞尚满天。这篇文章主要讲述Redis 入门学习,学习使我快乐01相关的知识,希望能为你提供帮助。

Redis 入门

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



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


特性
  1. 多样的数据类型
  2. 持久性
  3. 集群
  4. 事务
学习中需要用到的东西
  1. 狂神的公众号:狂神说
  2. 官网:https:/redis.io/
  3. 中文网:http://www.redis.cn/
  4. 下载地址:通过官网下载即可
    Redis 入门学习,学习使我快乐01

    文章图片

    注意:Window是在GitHup 上下载(停更很久了)
    Redis 推荐都是在linux 服务器上搭建的,我们是基于Linux 学习


Windows 下安装


  1. 下载安装包
  2. 链接: https://pan.baidu.com/s/16WCX9LSiaBNevHhfNLhKqA 提取码: 9ns3 )
  3. 下载完毕得到压缩包
    Redis 入门学习,学习使我快乐01

    文章图片

    3.解压到自己的电脑上,Redis十分的小,只有5M
    Redis 入门学习,学习使我快乐01

    文章图片
  4. 开启Redis,双击redis-server.exe,运行服务即可
    Redis 入门学习,学习使我快乐01

    文章图片
5.使用客户端连接redis (点击redis-cli.exe)
Redis 入门学习,学习使我快乐01

文章图片

记住一句话,Windows下使用确实简单,但是Redis推荐我们使用Linux 开发使用!
Linux 安装
  1. 下载安装包,然后再linux 平台安装,如果小伙伴门没有linux 服务器,可以点击链接: ??腾讯云购买试用版服务器,价格优惠??.或者扫码:
    Redis 入门学习,学习使我快乐01

    文章图片

    注册,然后再腾讯云购买服务器
    Redis 入门学习,学习使我快乐01

    文章图片

    博主也买了一台,一年也就100 快钱,好了,我们下载压缩包
    Redis 入门学习,学习使我快乐01

    文章图片

    下完后是这样的
    Redis 入门学习,学习使我快乐01

    文章图片

    连接到linux 服务器
    Redis 入门学习,学习使我快乐01

    文章图片

    将包拖到home 目录下面
    Redis 入门学习,学习使我快乐01

    文章图片
  2. 开始解压:程序建议在obt 目录 mv 移动到obt
    Redis 入门学习,学习使我快乐01

    文章图片
  3. 使用命令: tar -xzvf redis-5,0.77.tar.gz 解压如下
    Redis 入门学习,学习使我快乐01

    文章图片
  4. 进入解压后的文件。可以看到redis 的配置文件
    Redis 入门学习,学习使我快乐01

    文章图片
  5. 基本的环境安装
yum install gcc-c++
查看gcc -v 是否安装完成,如图:
Redis 入门学习,学习使我快乐01

文章图片

  1. 使用make 命令,出现如图结尾,安装完毕
    Redis 入门学习,学习使我快乐01

    文章图片

  2. make install
    Redis 入门学习,学习使我快乐01

    文章图片

  3. redis 的默认安装路径: usr,默认安装到usr,local ,redis-server 目录下面
    Redis 入门学习,学习使我快乐01

    文章图片

  4. 将我们的redis 目录下复制到当前目录
    Redis 入门学习,学习使我快乐01

    文章图片

  5. reids 默认不是后台启动的,修改配置文件,改为yes 变为后台启动
    Redis 入门学习,学习使我快乐01

    文章图片

  6. 启动redis 服务,通过指定的配置文件启动
    Redis 入门学习,学习使我快乐01

    文章图片

  7. 使用cli-redis 测试连接
    Redis 入门学习,学习使我快乐01

    文章图片

  8. 查看redis 的进程是否开启
    Redis 入门学习,学习使我快乐01

    文章图片

  9. 如何关闭Redis 服务
    Redis 入门学习,学习使我快乐01

    文章图片

  10. 再次查看进程是否存在
    Redis 入门学习,学习使我快乐01

    文章图片

测试性能redis-benchmark 是一个压力测试工具
Redis 入门学习,学习使我快乐01

文章图片

我们来简单测试下:
#测试:100个并发连接,每个并发100000个请求
redis-benchmark -h localhost -p 6379 -c 100 -n100000
Redis 入门学习,学习使我快乐01

文章图片

基础的知识redis 默认有16个数据库
Redis 入门学习,学习使我快乐01

文章图片

默认使用的是第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 入门学习,学习使我快乐01】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 上的,在内存情况下,这个就是最佳的方案!



    推荐阅读