目录
一、Redis简介
二、Linux上安装Redis
0.上传redis.gz
1.解压redis tar -zxvf reids-5.0.0.tar.gz
2.安装gcc yum install -y gcc
3.编译redis才可以使用
4.检测安装情况 make install
5.修改reids.conf文件
① 备份一份reids.conf文件 cp redis.conf redis.conf.bak20220809
② 将daemonize no 改为 daemonize yes
6.启动reids ./src/redis-server redis.conf
7.测试reids启动是否成功
①解决连接redis客户端开发工具,端口号开放6379
② 授权,允许远程连接
③杀掉redis进程
④最终测试连接成功
三、Redis的常用命令
1.Reids字符串(String)
2.Redis哈希(Hash)
3.Redis列表(List)
4.Reis集合(Set)
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合(常用的数据库存储方式),位图,hyper loglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster 提供自动分区
学习网址:Redis 教程_w3cschool https://www.w3cschool.cn/redis/
CRUG网站 www.redis.cn
Redis中文网 www.redis.net.cn
核心存储键值对:string、hash、list、set、zset(sort set)
NoSQL 数据库:redis、ehcache、MongoDB------
--——-——-》是直接通过键值对的方式取值,数据之间不存在关系
SQL 数据库:SQLserver、Oracle、MySQL-----》通过查询表的方式获取数据
Redis作用:提升程序运行的效率及性能
Redis用途:1.数据库 2.缓存
集群:哨兵、主从、分片式
#下载Redis
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)
安装reids的参考模板,不一定什么都是一样的。
#1.解压redis
tar -zxvf redis-5.0.0.tar.gz -C /usr/local/注意:当我们解压redis的时候,后面的-C...可以不用,不用的话就是解压在当前目录下
#2.安装gcc
yum install gcc#3.编译redis
cd redis-5.0.0
make#4.检测安装情况
make install#5.修改redis.conf文件
cp redis.conf redis_bak.conf
将daemonize no 改为 daemonize yes#6.启动redis
./src/redis-server redis.conf
#7.测试redis启动是否成功
./redis-cli
ping#附录
# Linux在文件中查找关键字
vim xxx.conf
先"/" 然后"关键字" 再enter;"n"指找下一个#查看redis进程:
ps -ef | grep redis
yum install -y lsof
lsof -i:6379
#杀掉redis进程:kill -9 进程pid
以上为无密码链接,修改为有密码,并且外部访问的方式如下
#1.修改redis.conf
注释:bind 127.0.0.1
修改:requirepass 123456#2.杀掉redis进程
#3.启动redis.conf的新配置
./src/redis-server redis.conf#4.客户端redis-cli链接redis,重新测试
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
select 1#5.redismanager链接测试成功
注意:redis与tomcat的最大不同,redis的使用需要gcc环境支撑
这里安装gcc的时候如果不加上-y 的话,就会让你输入。
进入redis的解压目录,执行命令 make
cd /redis-5.0.0
make注意:进入编译的时候可以有点久,稍微等一下就好了。
这个方式我们不能用,所以要把它改为守护进程的方式
守护进程的作用:当我启动完了之后,我还可以输入命令
注意:当链接工具不能直接打开文件编译,我们就用最原始的方式,通过以下方式
如果要找某一个关键字加上 ( /+查询关键字+Enter键)如果这个不是你要找的想找下一个就按(n键,n键代表的就是next下一个的意思)
./src/redis-cli
ping 回应 pong 就说明安装好了
exit退出;不需要打分号。
当我们打开reids客户端的开发工具,连接我们的ip是连接不成功的
#开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
1)把只允许本地访问前加个#号把它注释掉
2)设置密码
输入vim redis.conf进入编译界面。
最终把这个两个修改为成这样如图所示:
客户端redis-cli链接redis,重新测试
-h:host -p:port -a:authentication
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
select 1
注意:redis中的常用命令就是开发过程中,所调用的redis api 中的方法
# set key //保存
set name zs
set age 12
set sex nan# get key //获取
get name# type key //查看类型
type age //string 说明type返回的是键值对存储类型,而不是值存储类型# keys *或keys key //查看所有或者指定的key
keys *# SETEX KEY_NAME TIMEOUT VALUE // 给键值对设置过期时间
select 有三个参数key的名字、set的时间、对应的值
setex zs 60 live# ttl key // 获取键值对剩余的存活时间
ttl zs#del key //删除数据
del zs
#set key //修改数据
set name ls
这里每执行一个操作可以去客户端连接工具刷新进行验证
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
# hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv#hset key field1 value1 #修改指定的字段值
hset user age 22
# hget key field #获取指定的字段值
hget user age# hdel key field #删除指定的字段值
hdel user age# hgetall key #查询指定key的所有字段
hgetall user# hexists key field #查询指定key中的字段是否存在
hexists user name# hlen key #获取指定key中的长度
hlen user
Reids列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
lpush ---->left push
rpush---->right push
# lpush key value1 value2 value3 #将一个或多个值插入到列表头部
lpush en a b c d e f g# llen key #获取列表的长度
llen en# lindex key index #根据索引获取列表中的元素
lindex en 1 #返回f,说明下标从0开始,同时先进后出# lrange key start sop #查看指定范围内的元素
lrange en 1 3 #返回fed,说明下标从0开始,同时先进后出
Reids的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据
# sadd key value1 [value2] #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key #获取集合中的元素数量
scard hobby# exists key #是否存在
exists hobby
用的最多的就是String(字符串)
有序集合(sort set)
还有很多命令可以参考这个网址去找相对应的命令
Redis 有序集合(sorted set)_w3cschool
上传redis.gz包-----》解压 tar -zxvf reids.gz-----》下载gcc环境 yum install -y gcc
----》进入解压目录里面 cd redis----》编译make
备份:cp redis.conf redis.conf.bak.时间
还原:cp redis.conf.bak.时间 redis.conf
1) daemonize:yes
2) #bind 127.0.0.1 运行外部链接
3) 设置密码 requirepass
备注:修改Linux中配置文件,寻找指定关键字 /+关键字+enter 、n匹配下一个
启动: ./src/redis-server redis.conf
链接:./src/redis-cli
测试:ping---->pong
开发端口:6379
围绕增删改查
string:set/get/set/del
setex / ttl
list
hash
set....