Redis入门与安装

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

Redis 的作用

  1. 内存存储、持久化(RDB 和 AOF)
  2. 效率高,可以用于高速缓存
  3. 发布订阅系统,队列
  4. 地图信息分析
  5. 计数器、计时器(比如浏览量)

Redis 的优点:

  1. 高拓展(非关系型数据库拓展性抢)
  2. 高可用(可以搭建集群,治理方便)
  3. 高性能(基于内存读写,效率高,非关系型数据库,读写与存储效率高)

Redis单线程下高效的原因

  • Redis是基于内存进行读写的,多线程和单线程不影响Redis的读写效率
  • CPU实现多线程时切换上下文时会损耗很大,而Redis是一块CPU操作一块内存,不需要切换上下文,没有损耗。

Redis在windows下的安装

  • 因为官方推荐使用Linux下的环境,这里只对windows环境进行简单的说明,可以用作测试使用,操作和Linux大致相同。
  1. Redis下载

    选择合适的版本进行安装。

  2. 解压并启动

    image-20210722194931353

  3. 使用ping命令测试是否连接成功

    image-20210722195033431

Redis在Linux下的安装

  1. 下载Redis

    选择合适的版本进行安装,注意不要下载太旧的版本或者测试版。
    注:也可以使用 wget 命令的方式下载(此步骤可以省略上传步骤)

    wget http://download.redis.io/releases/redis-5.0.7.tar.gz

  2. 上传至linux服务器

    选择一个工具将安装包进行上传。

  3. 使用命令进行解压

    [root@localhost redis]# tar -zxvf redis-5.0.7.tar.gz 
    

    image-20210723104726212

  4. c语言环境安装(已有C环境不需要安装,redis的编译需要依赖此环境)

    [root@localhost redis]# yum install gcc-c++
    
  5. 编译redis,进入redis解压后的目录进行编译

    [root@localhost redis-5.0.7]# make
    
  6. 安装redis

    [root@localhost redis-5.0.7]# make install
    

    安装完成后,redis的启动文件将在/usr/local/bin

    image-20210723111746855

  7. 拷贝redis目录下的配置文件redis.conf

    [root@localhost bin]# mkdir myconf
    [root@localhost bin]# cp /windows-datas/redis/redis-5.0.7/redis.conf myconf
    
  8. 修改配置文件,这里只将启动方式更改为后台启动。

    # NotAL #####################################
    
    # By default Redis does not run as a daemon. Use 'yes' if you need it.
    # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
    daemonize no		#更改为yes,即为后台启动
    
  9. 启动redis服务

    [root@localhost bin]# redis-server myconf/redis.conf 	#启动需指定配置文件
    
  10. 启动redis客户端连接到redis服务

    [root@localhost bin]# redis-cli -p 6379		#连接指定端口的redis服务
    
  11. 测试连接

    127.0.0.1:6379> ping
    PONG
    
  12. 关闭连接

    127.0.0.1:6379> shutdown		#关闭redis服务
    not connected> exit				#关闭连接
    
    

Redis拓展

压力测试工具 redis-benchmark
  • 安装redis后测试工具也同时被安装

image-20210723113618518

测试工具指令参数

序号选项描述默认值
1-h指定服务器主机名127.0.0.1
2-p指定服务器端口6379
3-s指定服务器 socket
4-c指定并发连接数50
5-n指定请求数10000
6-d以字节的形式指定 SET/GET 值的数据大小2
7-k1=keep alive 0=reconnect1
8-rSET/GET/INCR 使用随机 key, SADD 使用随机值
9-P通过管道传输 请求1
10-q强制退出 redis。仅显示 query/sec 值
11–csv以 CSV 格式输出
12*-l*(L 的小写字母)生成循环,永久执行测试
13-t仅运行以逗号分隔的测试命令列表。
14*-I*(i 的大写字母)Idle 模式。仅打开 N 个 idle 连接并等待。

简单测试实例

# 测试20个并发下的10000次请求
[root@localhost bin]# redis-benchmark -h localhost -p 6379 -c 20 -n 10000
====== PING_INLINE ======
  10000 requests completed in 0.18 seconds
  20 parallel clients
  3 bytes payload
  keep alive: 1

99.34% <= 1 milliseconds
99.97% <= 2 milliseconds
100.00% <= 2 milliseconds
54945.05 requests per second

====== SET ======				#set的性能
  10000 requests completed in 0.14 seconds
  20 parallel clients
  3 bytes payload
  keep alive: 1

99.89% <= 1 milliseconds
100.00% <= 1 milliseconds
68965.52 requests per secon
......

数据库基础知识

Redis默认有16个数据库,类似数组下标从零开始,初始默认使用零号库

# 查看设置数据库的数量
[root@localhost bin]# cat myconf/redis.conf | grep database
# Set the number of databases. The default database is DB 0, you can select
# dbid is a number between 0 and 'databases'-1
databases 16

# 切换数据库
127.0.0.1:6379> select 10
OK
127.0.0.1:6379[10]> 

# 查看当前库key键数量
127.0.0.1:6379[10]> dbsize
(integer) 0

# 清空当前数据库的所有key
127.0.0.1:6379[10]> flushdb
OK

# 清空所有数据库的所有key
127.0.0.1:6379[10]> flushall
OK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值