标签:127.0 入门 0.1 Redis redis 笔记 6379 name
Redis入门和一些笔记
Redis概述
Redis是什么?
- Redis(Re mote Di ctionary S erver ),即远程字典服务
- 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
- redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步
- 免费和开源,当下最热门的NoSQL技术之一,也被称为结构化数据库
- 读的速度是110000次/s,写的速度是81000次/s
Redis能干什么?
- 内存存储,持久化,内存中是断电即失,所以持久化很重要(rdb、aof)
- 效率高,可用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(微信、微博、浏览量)
Redis特性
- 多样数据类型
- 持久化
- 集群
- 事务
Redis安装
Redis推荐都是在Linux服务器上搭建
#基本环境安装
[root@pakho ~]# gcc -v #查看当前gcc版本
gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
#将redis-6.2.4.tar.gz上传服务器/usr/src目录
#解压redis安装包
[root@pakho src]# tar xf redis-6.2.4.tar.gz
[root@pakho src]# cd redis-6.2.4
[root@pakho redis-6.2.4]# make
[root@pakho redis-6.2.4]# make install
redis默认安装路径/usr/local/bin
#创建一个config文件夹
[root@pakho bin]# mkdir redis_config
#将redis配置文件 复制到redis_config下
[root@pakho bin]# cp /usr/src/redis-6.2.4/redis.conf redis_config/
[root@pakho redis_config]# ls #之后就用这个配置文件进行启动,原生文件作为备份
redis.conf
#redis默认不是后台启动,修改配置文件
[root@pakho redis_config]# vim redis.conf
daemonize no > daemonize yes #开启后台启动
启动redis
[root@pakho bin]# redis-server redis_config/redis.conf #redis通过指定配置文件启动
连接redis
[root@pakho bin]# redis-cli -p 6379 #-h:表示主机默认本机 -p:端口
127.0.0.1:6379> ping
PONG #连接成功
127.0.0.1:6379> set name pakho
OK
127.0.0.1:6379> get name
"pakho"
127.0.0.1:6379> keys * #获取redis中所有的key
1) "name"
至此安装完成
[root@pakho redis-6.2.4]# ps aux | grep redis #查看redis进程是否开启(cli和redis-server)
Redis性能测试
redis-benchmark
是redis官方自带的压力测试工具
选项 | 描述 | 默认值 |
---|---|---|
-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
Redis一些基础知识
关闭redis服务
127.0.0.1:6379> shutdown
not connected> exit
redis默认16个数据库
不同的数据库存放不同的值
[root@pakho redis_config]# vim redis.conf
databases 16
`默认使用第0个`
#可以使用select进行切换
127.0.0.1:6379> select 3
OK
#DBSIZE查看当前数据库大小
127.0.0.1:6379[3]> dbsize
(integer) 0
#查看数据库所有key
127.0.0.1:6379> keys *
#清空全部库的内容
127.0.0.1:6379[3]> flushall
#清空当前库
127.0.0.1:6379[3]> flushdb
OK
Redis是单线程的
- Redis是很快的,官方表示,Redis基于内存操作,CPU部署Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽
Redis为什么单线程还这么快?
- Redis是C语言写的,官方数据为100000+的QPS,完全不比通样使用key-vale的Memcache差
- Redis将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的(CPU上下文切换,耗时的操作)
- 对于内存系统来说,如果没有上下文切换效率就是最高的,多次读写都是在一个CPU上,在内存情况下,就是最佳方案
添加信息
set name value
127.0.0.1:6379> set name wyc
OK
信息查询
get key
127.0.0.1:6379> get name
"wyc"
获取帮助
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
ping
127.0.0.1:6379> ping
PONG
判断是否存在
exists
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists lhb
(integer) 0
移动Key
move
127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
"wyc"
设置key的过期时间
expire
127.0.0.1:6379[1]> expire name 5
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) 2
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 查看 key类型
type
127.0.0.1:6379[1]> set name pakho
OK
127.0.0.1:6379[1]> type name
string
标签:127.0,入门,0.1,Redis,redis,笔记,6379,name 来源: https://blog.csdn.net/sixeleven611/article/details/118054994
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。