当前位置:主页 > 查看内容

Redis——Redis入门和一些基础

发布时间:2021-07-14 00:00| 位朋友查看

简介:Redis入门 Redis简介 Redis安装 Redis性能测试 Redis的一些基础知识 Redis简介 Redis ( Re mote Di ctionary S erver)即远程字典服务 是用 C 语言开发的一个开源的高性能键值对key-value数据库并提供多种语言的API。 Redis的特点 数据间没有必然的关联关系……

Redis简介

Redis (Remote Dictionary Server),即远程字典服务
是用 C 语言开发的一个开源的高性能键值对(key-value)数据库,并提供多种语言的API。

Redis的特点

  1. 数据间没有必然的关联关系
  2. 内部采用单线程机制进行工作
  3. 高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
  4. 多样的数据类型支持
  5. 持久化支持。可以进行数据灾难恢复
  6. 集群
  7. 事务

Redis 的应用

  • 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
  • 任务队列,如秒杀、抢购、购票排队等
  • 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设
    备信号等
  • 地图信息分析
  • 时效性信息控制,如验证码控制、投票控制等
  • 分布式数据共享,如分布式集群架构中的 session 分离
  • 消息队列
  • 分布式锁

Redis安装

官网 下载6.2.1版本

gcc -v 查看gcc版本
发现是4.8.5

yum -y install centos-release-scl 
yum -y install gcc-c++ devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了

在这里插入图片描述

官网下载redis源码包
tar xf redis-6.2.1.tar.gz -C /usr/local
cd redis-6.2.1/
make
make install

redis默认安装路径:/usr/local/bin
自建一个文件夹名叫redis_config
将redis配置文件 复制到redis_config下
cp /root/redis-6.2.1/redis.conf  /usr/local/bin/redis_config

修改配置文件
vim redis.conf  
# 开启后台启动
daemonize yes

启动redis服务
redis-server redis_config/redis.conf 

连接redis
redis-cli -p 6379
127.0.0.1:6379> set name maomao
OK
127.0.0.1:6379> get name
"maomao"

安装成功

Redis性能测试

redis-benchmark 是一个压力测试工具
官方自带的性能测试工具
redis-benchmark 命令参数

选项描述默认值
-h指定服务器主机名127.0.0.1
-p指定服务器端口6379
-s指定服务器socket
-c指定并发连接数50
-n指定请求数10000
我们来简单测试
100个并发连接 100000个请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000

![在这里插入图片描述](https://img-blog.csdnimg.cn/202
在这里插入图片描述

Redis的一些基础知识

关闭Redis服务

127.0.0.1:6379> shutdown
not connected> exit

redis默认有16个数据库

配置文件里面
vim redis.conf
databases 16

默认使用的是第0个数据库

可以使用select进行切换数据库

127.0.0.1:6379> select 1
OK

DBSIZE查看当前库的空间
127.0.0.1:6379[1]> dbsize
(integer) 0

信息添加
设置 key,value 数据
语法:
set key value

127.0.0.1:6379> set name maomao 

127.0.0.1:6379> set name xiaotian

信息查询
根据 key 查询对应的 value,如果不存在,返回空(nil)
语法:
get key

127.0.0.1:6379> get name
"xiaotian"

帮助
获取命令帮助文档,获取组中所有命令信息名称
语法:
help 命令名称

127.0.0.1:6379> help set

  SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET]
  summary: Set the string value of a key
  since: 1.0.0
  group: string

127.0.0.1:6379> help get

  GET key
  summary: Get the value of a key
  since: 1.0.0
  group: string

测试ping

127.0.0.1:6379> ping
PONG

显示pong说明连接成功

exists判断是否存在

127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists age
(integer) 0

move 移动key去别的库

127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> exists name
(integer) 0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
"xiaotian"

EXPIRE设置key的过期时间

127.0.0.1:6379[1]> expire name 5
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) 3
127.0.0.1:6379[1]> ttl name
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) -2
127.0.0.1:6379[1]> exists name
(integer) 0
127.0.0.1:6379[1]> get name
(nil)

type查看类型

127.0.0.1:6379[1]> set name maomao
OK
127.0.0.1:6379[1]> type name
string

帮助文档

;原文链接:https://blog.csdn.net/Cantevenl/article/details/115630745
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:IDEA远程连接HBase及其Java API实战 下一篇:没有了

推荐图文


随机推荐