Redis系列文章------2.Redis入门

原创:兜里的猫

本章目录

  • Redis是什么
  • Redis能干嘛
  • 特性
  • 基础知识
  • 基本命令

1. Redis是什么

Redis中文官网:http://www.redis.cn/

Redis(Remote Dictionary Server ),即远程字典服务。

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis是内存中的数据结构存储系统,它可以用作==数据库==、==缓存==、==消息中间件MQ==(以上来自百度百科)

Redis是当下最流行的NoSql技术之一,被人们称为结构化数据库!

2. Redis能干嘛

  • Redis使用内存存储,也可持久化(RDB、AOF),内存中是断电即失,所以说持久化很重要!
  • 效率高,可用于高速缓存
  • 发布订阅系统(类似:RabbitMQ、ActiveMQ、Kafka)
  • 地图信息分析
  • 计时器,计数器(例如:浏览量)
  • ......

3. 特性

  • 多样的数据类型
  • 持久化
  • 集群
  • 事务
  • ......

4. 基础知识

1.Redis是单线程的!

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

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

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

误区1:高性能的服务器一定是多线程的?错
误区2:多线程一定比单线程效率高?错

首先简单了解下服务器的各硬件性能速度:CPU>内存>硬盘

重点:redis将所有的数据全部放在内存中,所以说使用单线程去操作效率就是最高的,多线程会有一个CPU上下文切换的耗时操作,对于内存系统来说,如果没有上下文的切换,效率就是最高的!多次读写都在一个CPU上,在内存情况下,这个就是最佳的方案!!

2.redis默认有16个数据库(db0 - db15),默认使用的是第0个数据库。

使用客户端redis-cli登录之后,命令切换数据库:

select 1(切换到db1)

命令查看DB大小:

DBSIZE(查看当前DB大小,size指键值对数量)

命令查看当前db所有的key:

keys *

命令清除当前数据库db的内容:

flushdb

命令清除全部数据库的内容:

flushall

5. 基本命令

这里先演示redis常用命令,后面使用的Springboot,jedis,所有的方法就是这些命令!

以下命令都是在redis-cli客户端登录后使用

命令查看所有的key:

keys *

命令设置一个key-value值:

set name ethan [set key value]

命令查看指定key对应的value:

get name [get key]

命令查看是否存在某个key:

exists name [exists key:返回1存在,返回0不存在]

命令删除指定的key:

del name [del key]

命令设置指定key的过期时间(单位为秒):

expire name 10 [expire key seconds]

命令查看指定key的过期时间(单位为秒):

ttl name [ttl key]

命令查看key的类型:

type name [type key]

命令追加对应key的value值:

append name good [append key value]

更多命令可在官网进行查看: http://www.redis.cn/commands.html

小程序码【兜里的猫】

小程序码

欢迎访问博客网页版:www.wldeer.com
关注公众号:(同步更新)【FreeWeb开发者】
# Redis 

评论

兜里的猫 : 是md
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×