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

Posted 15757147200

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
    注意:Window是在GitHup 上下载(停更很久了)
    Redis 推荐都是在linux 服务器上搭建的,我们是基于Linux 学习


Windows 下安装



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

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

\'Redis

记住一句话,Windows下使用确实简单,但是Redis推荐我们使用Linux 开发使用!

Linux 安装

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

yum install gcc-c++
查看gcc -v 是否安装完成,如图:
\'Redis

  1. 使用make 命令,出现如图结尾,安装完毕
    \'Redis
  2. make install
    \'Redis
  3. redis 的默认安装路径: usr,默认安装到usr,local ,redis-server 目录下面
    \'Redis
  4. 将我们的redis 目录下复制到当前目录
    \'Redis
  5. reids 默认不是后台启动的,修改配置文件,改为yes 变为后台启动
    \'Redis
  6. 启动redis 服务,通过指定的配置文件启动
    \'Redis
  7. 使用cli-redis 测试连接
    \'Redis
  8. 查看redis 的进程是否开启
    \'Redis
  9. 如何关闭Redis 服务
    \'Redis
  10. 再次查看进程是否存在
    \'Redis

测试性能

redis-benchmark 是一个压力测试工具

\'Redis

我们来简单测试下:

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

\'Redis

基础的知识

redis 默认有16个数据库

\'Redis

默认使用的是第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 上的,在内存情况下,这个就是最佳的方案!

以上是关于Redis 入门学习,学习使我快乐01的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Reids入门基本命令,学习使我快乐03,关于reidis 的一些操作命令(三种特殊数据类型)

Reids入门基本命令,学习使我快乐03,关于reidis 的一些操作命令(三种特殊数据类型)

Reids入门基本命令,学习使我快乐03,关于reidis 的一些操作命令(三种特殊数据类型)

Reids入门基本命令,学习使我快乐02,关于reidis 的一些操作命令(五大基本数据类型)