java之学习记录 7 - 2 - redis 安装及简单应用

1. 下载与安装

1.1 下载

redis : http://www.redis.net.cn/ java之学习记录 7 - 2 - redis 安装及简单应用   图形工具: https://redisdesktop.com/download   java之学习记录 7 - 2 - redis 安装及简单应用

1.2 安装

虽然可以在安装在 windows 操作系统,但是官方不推荐,所以我们一如既往的安装在 linux 上   1. 上传 tar.gz 包,并解压
tar -zxvf redis-5.0.4.tar.gz
2. 安装 gcc (必须有网络)
yum -y install gcc
忘记是否安装过,可以使用 gcc - v 命令查看 gcc 版本,如果没有安装过,会提示命令不存在   3. 进入 redis 目录,进行编译  
make
4. 编译之后,开始安装
make install

1.3 安装后的操作

1.3.1 后台运行方式

  • redis默认不会使用后台运行,如果你需要,修改配置文件daemonize=yes,当你后台服务启动的时候,会写成一个进程文件运行。
vim /opt/redis-5.0.4/redis.conf

// 更改下面配置
daemonize yes
  • 以配置文件的方式启动
cd /usr/local/bin 

redis-server /opt/redis-5.0.4/redis.conf

1.3.2 关闭数据库

  • 单实例关闭
redis-cli shutdown
  • 多实例关闭
redis-cli -p 6379 shutdown

1.3.3 常用操作

  • 检测6379端口是否在监听
netstat -lntp | grep 6379

端口为什么是6379?

6379在是手机按键上MERZ对应的号码,

而MERZ取自意大利歌女Alessia Merz的名字。

MERZ长期以来被antirez(redis作者)及其朋友当作愚蠢的代名词。

  • 检测后台进程是否存在
ps -ef|grep redis

1.3.4 连接redis并测试

redis-cli 
ping
1.3.5 HelloWorld
# 保存数据 
set k1 china 
# 获取数据 
get kl
1.3.6 测试性能
  • 先 ctrl+c,退出redis客户端
redis-benchmark
  • 执行命令后,命令不会自动停止,需要我们手动ctrl+c停止测试
[root@localhost bin]# redis-benchmark 
====== PING_INLINE ====== 
 100000 requests completed in 1.80 seconds # 1.8秒处理了10万个请求,性能要看笔记 本的配置高低 
 50 parallel clients 
 3 bytes payload 
 keep alive: 1 
87.69% <= 1 milliseconds 
99.15% <= 2 milliseconds 
99.65% <= 3 milliseconds 
99.86% <= 4 milliseconds 
99.92% <= 5 milliseconds 
99.94% <= 6 milliseconds 
99.97% <= 7 milliseconds 
100.00% <= 7 milliseconds 
55524.71 requests per second # 每秒处理的请求数量
1.3.7 默认 16 个数据库
vim /opt/redis-5.0.4/redis.conf
127.0.0.1:6379> get k1 # 查询k1 
"china" 
127.0.0.1:6379> select 16 # 切换16号数据库 
(error) ERR DB index is out of range # 数据库的下标超出了范围 
127.0.0.1:6379> select 15 # 切换15号数据库 
OK
127.0.0.1:6379[15]> get k1 # 查询k1 
(nil)
127.0.0.1:6379[15]> select 0 # 切换0号数据库 
OK
127.0.0.1:6379> get k1 # 查询k1 
"china"
1.3.8 数据库键的数量
dbsize
redis 在 linux 支持命令补全( tab )   1.3.9 清空数据库
  • 清空当前库
flushdb
  • 清空所有(16个)库,慎用!!
flushall
1.3.10 模糊查询( key   模糊查询 keys 命令,有三个通配符:
  • *:通配任意多个字符
keys *     查询所有的键

keys k*    模糊查询k开头,后面随便多少个字符

keys *e    模糊查询e为最后一位,前面随便多少个字符

keys *k*   双 * 模式,匹配任意多个字符:查询包含k的键
  • ?:通配单个字符
keys k?         模糊查询k字头,并且匹配一个字符

keys k??        你只记得第一个字母是k,他的长度是3

keys r[ae]dis   []:通配括号内的某一个字符 --  记得其他字母,就第二个字母可能是a或e
1.3.11 键( key
  • exists key:判断某个key是否存在
127.0.0.1:6379> exists k1 
(integer) 1 # 存在 
127.0.0.1:6379> exists y1 
(integer) 0 # 不存在
  • move key db:移动(剪切,粘贴)键到几号库
127.0.0.1:6379> move x1 8 # 将x1移动到8号库 
(integer) 1 # 移动成功 
127.0.0.1:6379> exists x1 # 查看当前库中是否存在x1 
(integer) 0 # 不存在(因为已经移走了) 
127.0.0.1:6379> select 8 # 切换8号库 
OK
127.0.0.1:6379[8]> keys * # 查看当前库中的所有键 
1) "x1"
  • ttl key:查看键还有多久过期(-1永不过期,-2已过期)
  • time to live 还能活多久
127.0.0.1:6379[8]> ttl x1 
(integer) -1 # 永不过期
  • expire key 秒:为键设置过期时间(生命倒计时)
127.0.0.1:6379[8]> set k1 v1 # 保存k1 
OK
127.0.0.1:6379[8]> ttl k1 # 查看k1的过期时间 
(integer) -1 # 永不过期 
127.0.0.1:6379[8]> expire k1 10 # 设置k1的过期时间为10秒(10秒后自动销毁) 
(integer) 1 # 设置成功 
127.0.0.1:6379[8]> get k1 # 获取k1 
"v1" 
127.0.0.1:6379[8]> ttl k1 # 查看k1的过期时间 
(integer) 2 # 还有2秒过期 
127.0.0.1:6379[8]> get k1 
(nil) 
127.0.0.1:6379[8]> keys * # 从内存中销毁了 
(empty list or set)
  • type key:查看键的数据类型
127.0.0.1:6379[8]> type k1 
string # k1的数据类型是会string字符串

​​​​​​​

上一篇:Redis


下一篇:redis数据类型常用方法