Redis概述以及启动Redis并进入Redis

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis概述以及启动Redis并进入Redis相关的知识,希望对你有一定的参考价值。

活着的意义?
追求幸福(帮助他人,感恩之心),探索未知(努力的学习,不要这个社会抛弃)

看的狂神的视频课👉【狂神说Java】Redis最新超详细版教程通俗易懂,笔记自用。

Redis入门

概述

Redis 是什么?

👉Redis百度百科
Redis(Remote Dictionary Server )即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
免费和开源!
是当下最热门的 NoSQL 技术之一,也被人们称之为结构化数据库!

Redis 能干嘛?

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

特性

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

学习中需要用到的东西

👉官网
👉中文网

Redis推荐都是在Linux服务器上搭建的,基于Linux学习!

之前已经在购买的阿里云服务器上使用docker搭建好redis并且已经启动了。
(docker部署redis的教程自己去搜,有很多~~~~~~)

查看当前环境版本:

redis.conf:

👉在Docker中启动Redis并进入Redis

进入Redis终端

先查看容器id:

docker exec -it 容器id redis-cli

redis-cli表示运行一个redis客户端。

关闭退出:

127.0.0.1:6379> select 3  #切换数据库3
OK
127.0.0.1:6379[3]> DBSIZE  #查看DB大小
(integer) 0
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> DBSIZE
(integer) 0
127.0.0.1:6379[3]> set name wanzi
OK
127.0.0.1:6379[3]> DBSIZE
(integer) 1
127.0.0.1:6379[3]> keys *  #查看数据库所有的key
1) "name"

清除当前数据库 flushdb
清除全部数据库的内容 FLUSHALL

127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty array)
127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
1) "msg"
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty array)

Redis 是单线程的!

Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的Memecache差!

Redis 为什么单线程还这么快?

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

以上是关于Redis概述以及启动Redis并进入Redis的主要内容,如果未能解决你的问题,请参考以下文章

Redis五大数据类型之Hash

Redis五大数据类型之Set

Redis五大数据类型之List

Springboot第六章 SpringBoot 集成 Redis

Redis安装以及Java客户端jedis连接不上相关问题解决

redis的几种启动方式(Linux)