莫道桑榆晚,为霞尚满天。这篇文章主要讲述Redis 入门学习,学习使我快乐01相关的知识,希望能为你提供帮助。
Redis 入门
Redis 是什么?Redis(Remote_Dictionary Server) ,即远程字典服务!
- 是一个开元的使用ANSI C语言编写,支持网咯,可给予内存亦可持久化的日志型,KEY-value 数据库,并提供多种语言的API
- 免费和开源!当下最热门的NOSQL 技术之一!,也被人门称之为结构化数据库!
Redis 能干嘛?
- ?
内存存储,持久化,内存中断电即失,所以说持久化很重要(rdb,aof) 效率高,可以用于高速缓存发布订阅系统地图信息分析计时器,计数器(浏览器!)?
特性
- 多样的数据类型
- 持久性
- 集群
- 事务
学习中需要用到的东西
- 狂神的公众号:狂神说
- 官网:https:/redis.io/
- 中文网:http://www.redis.cn/
- 下载地址:通过官网下载即可
文章图片
注意:Window是在GitHup 上下载(停更很久了)
Redis 推荐都是在linux 服务器上搭建的,我们是基于Linux 学习
Windows 下安装
- 下载安装包
- 链接: https://pan.baidu.com/s/16WCX9LSiaBNevHhfNLhKqA 提取码: 9ns3 )
- 下载完毕得到压缩包
文章图片
3.解压到自己的电脑上,Redis十分的小,只有5M
文章图片
- 开启Redis,双击redis-server.exe,运行服务即可
文章图片
文章图片
记住一句话,Windows下使用确实简单,但是Redis推荐我们使用Linux 开发使用!
Linux 安装
- 下载安装包,然后再linux 平台安装,如果小伙伴门没有linux 服务器,可以点击链接: ??腾讯云购买试用版服务器,价格优惠??.或者扫码:
文章图片
注册,然后再腾讯云购买服务器
文章图片
博主也买了一台,一年也就100 快钱,好了,我们下载压缩包
文章图片
下完后是这样的
文章图片
连接到linux 服务器
文章图片
将包拖到home 目录下面
文章图片
- 开始解压:程序建议在obt 目录 mv 移动到obt
文章图片
- 使用命令: tar -xzvf redis-5,0.77.tar.gz 解压如下
文章图片
- 进入解压后的文件。可以看到redis 的配置文件
文章图片
- 基本的环境安装
yum install gcc-c++
查看gcc -v 是否安装完成,如图:
文章图片
- 使用make 命令,出现如图结尾,安装完毕
文章图片
- make install
文章图片
- redis 的默认安装路径: usr,默认安装到usr,local ,redis-server 目录下面
文章图片
- 将我们的redis 目录下复制到当前目录
文章图片
- reids 默认不是后台启动的,修改配置文件,改为yes 变为后台启动
文章图片
- 启动redis 服务,通过指定的配置文件启动
文章图片
- 使用cli-redis 测试连接
文章图片
- 查看redis 的进程是否开启
文章图片
- 如何关闭Redis 服务
文章图片
- 再次查看进程是否存在
文章图片
文章图片
我们来简单测试下:
#测试: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 入门学习,学习使我快乐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 上的,在内存情况下,这个就是最佳的方案!
推荐阅读
- 华为ipsec互通笔记
- [笨叔点滴16]那些狗日的面试必考题(中断管理篇)
- [笨叔点滴6] 叔,这个git咋玩啊()
- 如何检查当前帖子或类别是否是某个类别的后代()
- 如何以编程方式更改WordPress的默认帖子永久链接()
- 页面加载后如何更改输入值()
- 如何更改Woocommerce购物车图标
- 如何将结帐页面中显示的”下订单”文本更改为”预订”( [关闭])
- 如何使用wp_enqueue_script在foreach中更改顺序()