微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

    选择合适的版本进行安装,注意不要下载太旧的版本或者测试版。

  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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐