Redis是什么?
Redis能干什么?
Redis特性
Redis推荐都是在Linux服务器上搭建
官网下载redis-6.2.4
#基本环境安装 [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-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服务
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为什么单线程还这么快?
添加信息
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