Redis(Remote Dictionary Server),即远程字典服务。
一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis能该干什么
Redis特性
推荐使用Linux服务器学习
1、下载并解压安装包:https://github.com/dmajkic/redis
2、开启redis-server.exe
3、启动redis-cli.exe测试
Redis在Linux下的安装
redis-benchmark:Redis官方提供的性能测试工具,参数选项如下:
简单测试
# 测试:100个并发连接 100000请求 redis-benchmark -h localhost -p 6379 -c 100 -n 100000
redis默认有16个数据库
默认使用的第0个
可以使用select n
切换到DB n,dbsize
可以查看当前数据库的大小
keys *
:查看当前数据库中所有的key。
flushdb
:清空当前数据库中的键值对。
flushall
:清空所有数据库的键值对。
Redis是单线程的
Redis是基于内存操作的,所以Redis的性能瓶颈不是CPU,而是机器内存和网络带宽。
【Redis为什么单线程还这么快?】
误区1:高性能的服务器一定是多线程的?
误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
核心:Redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的,多次读写都是在一个CPU上的,在内存存储数据情况下,单线程就是最佳的方案。