02Redis --Redis入门、安装、启动、性能测试、基础知识
作者:互联网
目录
概述
官网:Redis
Redis是什么?
Redis(Remote Dictionary Server ),即远程字典服务。
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis能该干什么?
- 内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
- 高效率、用于高速缓冲
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(eg:浏览量)
- 。。。
特性
-
多样的数据类型
-
持久化
-
集群
-
事务
…
安装Redis
Windows安装redis
- 解压安装包
- 开启redis-server.exe
- 启动redis-cli.exe测试
Window下使用确实简单,但是Redis推荐我们使用Linux去开发使用!
Linux安装
1、下载安装包:redis-6.2.5.tar.gz
2、解压Redis的安装包!程序一般放在 /opt 目录下
[root@gh gh]# mv redis-6.2.5.tar.gz /opt #移动到 opt目录下
[root@gh gh]# cd /opt
[root@gh opt]# ls
containerd redis-6.2.5.tar.gz
[root@gh opt]# tar -zxvf redis-6.2.5.tar.gz #解压
3、进入解压文件后,可以看到redis的配置文件
4、基本的环境安装
# yum install gcc-c++
# gcc -v
# make # 把所有需要的文件给配置上
# make insatll
5、redis的默认安装路径 /usr/local/bin
cd /usr/local/bin
6、将redis的配置文件,复制到我们的当前目录下
7、redis默认不是后台启动的,修改配置文件!
8、启动redis服务
通过制定的配置文件启动 redis-server gconfig/redis.conf
[root@gh bin]# redis-server gconfig/redis.conf
9、使用redis-cli进行测试链接
[root@gh bin]# redis-server gconfig/redis.conf
[root@gh bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
[root@gh bin]# ls
gconfig jemalloc.sh libmcrypt-config luajit-2.0.4 mdecrypt redis-check-aof redis-cli redis-server
jemalloc-config jeprof luajit mcrypt redis-benchmark redis-check-rdb redis-sentinel
[root@gh bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name gh
OK
127.0.0.1:6379> get name1
(nil)
127.0.0.1:6379> get name
"gh"
127.0.0.1:6379> key *
(error) ERR unknown command `key`, with args beginning with: `*`,
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>
10、查看redis 的进程是否开启
11、关闭redis服务 shutdown
启动Redis
[root@gh ~]# cd /usr/local/bin
[root@gh bin]# redis-server gconfig/redis.conf
[root@gh bin]# redis-cli -p 6379
********* 关闭 ***************
shutdown
exit
测试性能
redis-benchmark:Redis官方提供的性能测试工具,参数选项如下:
测试
测试 100个并发链接 100000请求
[root@gh /]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000
基础知识
redis默认有16个数据库,默认使用的是第0个,
1.可以使用select 进行切换数据库
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]>
2.查看数据库大小 dbsize
127.0.0.1:6379[3]> dbsize
(integer) 0
127.0.0.1:6379[3]> set name gh
OK
127.0.0.1:6379[3]> dbsize
(integer) 1
127.0.0.1:6379[3]>
3、查看所得key keys *
127.0.0.1:6379[3]> keys *
1) "name"
127.0.0.1:6379[3]>
4、清空当前数据库 flushdb
flushdb
5、清空全部数据库内容 flushall
flushall
redis是单线程的
redis很快,redis基于内存操作,cpu不是redis性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程。
redis是c语言写的,官方数据是100000+的QPS,这个不必同样使用key-value的Memecache差
redis为什么单线程还这么快
1.误区:高性能的服务器一定是多线程的?
2.误区二:多线程(cpu上下文切换)一定比单线程高!
核心:
redis将所有数据全部放在内存中,所以说使用单线程去操作效率高,多线程(cpu上下文切换:耗时操作),对于内存系统来说,如果没有上下文切换效率是最高的,多次读写都是在一个cpu上的,在内存情况下,这个就是最佳方案!
标签:0.1,127.0,--,Redis,redis,6379,02Redis,gh 来源: https://blog.csdn.net/gh_xiaohe/article/details/123224561