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 入门的主要内容,如果未能解决你的问题,请参考以下文章