Redis学习笔记2:了解 Redis 入门

Posted Vincent9847

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis学习笔记2:了解 Redis 入门相关的知识,希望对你有一定的参考价值。

1、Redis是什么?

(Remote Dictionary Server 远程字典服务)

Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:

  • 基于内存运行,性能高效
  • 支持分布式,理论上可以无限扩展
  • key-value存储系统
  • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

相比于其他数据库类型,Redis具备的特点是:

  • C/S通讯模型
  • 单进程单线程模型
  • 丰富的数据类型
  • 操作具有原子性
  • 持久化
  • 高并发读写
  • 支持lua脚本

2、Redis能干嘛?

Redis的应用场景有哪些?

Redis 的应用场景包括:缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。

3、Redis相关

  • Redis推荐都是在Linux服务器上搭建的;
  • redis-benchmark 性能测试工具。

4、Redis基础知识

1.reids默认有16个数据库

基本库操作:

select 3 #切换3号数据库

dbsize #查看库大小

flushdb #清空当前库

keys * #查看当前库数据

flushall #清空全部库

部分数据操作:

expire name 10 #设置过期时间

ttl name #查看过期时间

exists name #判断是否存在name

move name 1 #移除当前key

type name #查看当前数据类型

2.Redis是单线程的

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

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


所以说使用单线程去操作效率最快!

以上是关于Redis学习笔记2:了解 Redis 入门的主要内容,如果未能解决你的问题,请参考以下文章

Redis入门学习笔记一

Redis学习笔记1--入门篇

2016022601 - redis入门了解

Redis学习笔记之入门基础知识——其他特性

redis入门学习

Redis学习笔记 [初识Redis,学习常用的5种数据类型]