redis的学习笔记1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本人是一个刚刚学习Java的小萌新,在淘宝上购买的黑马讲的java教程,通过看他的教程学习,总结一点自己的学习过程和碰到的问题,和大家分享一下,若有不对,欢迎大家评论留言呀!!!

一、redis的概念

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis的默认端口号是6379。

关系型数据库:Mysql,oracle.
非关系型数据库:redis,hbase.
关系型数据库:数据直接有关联关系;数据存储在硬盘的文件上。
非关系型数据库:数据直接没有关联关系;数据存储在内存中。

在这里插入图片描述

二、redis的下载方式

由于我本身下载有docker了,所以通过下面链接下载redis
docker安装redis
补充说明:
redis-cli 是Redis命令行工具,是一个命令行客户端程序,可以将命令直接发送到Redis,并直接从终端读取服务器返回的应答
重新进redis的命令:
docker exec -it redis-test3 /bin/bash(redis-test是自己取的数据库名)
再输入命令redis-cli

三、redis的命令操作

1)redis的数据结构
redis存取:是value格式的数据,其中key都是字符串,value有5种不同的数据结构。
value的数据结构:
1.字符串类型string;
2.哈希类型hash;
3.列表类型list
4.集合类型set
5.有序集合类型sortedset
实例:
set test(key) 1放入“1”的值放入redis里存,命令成功会出现ok
Get test就是把test里的“1”取出来。主要是通过key值不同来进行非联系数据存取。
效果图:
在这里插入图片描述2)常用命令
1.String:
存数据:set test one
取数据:get test
判断key是否存在:exists test
删除key:del test
2.Hash:(适合对象)
存数据:hset myhash one two(one是列名,two是值)
取数据:hget myhash one
判断key是否存在:hexists myhash one
查看所有的key和值:hgetall myhash
删除key:hdel myhash one(key值)
3.List:可以添加一个元素到列表的头部(左边)或者尾部(右边)
mylist
新添加b会把a往中间挤
存数据:lpush test one lpush test two
取数据:lrange test 0 -1
(0 -1是指从头到尾的范围取出)
效果图:
在这里插入图片描述
在这里插入图片描述

删除列表最左边的元素,并将元素返回:lpop test
删除列表最右边的元素,并将元素返回:rlpop test
效果图:在这里插入图片描述
4.set:不允许有重复元素
存数据:sadd tet o n e
获取key集合里的所有数据:smembers tet
删除命令:srem tet e
效果图:
在这里插入图片描述

在这里插入图片描述
5.sorted set:
存数据:zadd account 50 li
取数据:zrange account 0 -1/zrange account 0 -1 withsore
删除数据:zrem account li
效果图:
在这里插入图片描述
通用命令:
key *:查询所有的键
type key: 获取键对应的value的类型
del key:删除指定key value# 欢迎使用Markdown编辑器
效果图:
在这里插入图片描述

四、redis的持久化

1.redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化报错到硬盘的文件
2.redis持久化机制
RDB:默认方式,不需要进行配置,默认就是要这种机制
在一定的间隔时间中,检查key的变化情况,然后持久化数据
(不能保证所有数据到保存在硬盘中,可能会有部分丢失)
怎么实现持久化呢:
进入到redis.conf里找到:save语句
将前面的注释删除掉,然后将save语句更改为你想要的。
效果图:
在这里插入图片描述
save 10 5的中文意思:
10秒内至少5个key值改变(则进行数据库保存–持久化)
安装时遇到的问题:
1.docker里是没有vi命令的:
怎么解决呢:这时就需要输入命令 apt-get update 然后再输入:
apt-get install vi,不成功就输入apt-get install vim就好了。
这时候docker就可以使用vi命令了
2.docker在安装redis的时候是没有配置文件的:
在官网上下载最新的redis.conf文件
github
3.输入命令让docker在使用redis时指向我们需要用的配置文件:

docker run -d --privileged=true -p 6380:6379 -v /Users/tuya/Desktop/资料/redis-tuya.conf:/etc/redis/redis.conf  --name redis-test3 redis redis-server /etc/redis/redis.conf --appendonly yes

补充:–privileged使用到权限,冒号的左边是本地的端口,右边是redis默认端口,最好不要改redis的指定端口,在我们需要多个数据库时,改左边端口名就好了;-v后面的是本地路径下的redis.conf文件 --name后面是自己设定的数据库名称。改一次配置文件,都需要重新启动容器,在进回数据库里哟!

AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据。对电脑伤害大
编辑redis.conf文件
Appendonly no(关闭aof) 更改appendonly yes (开启aof)
appendfsync always:每一次操作都进行持久化
appendfsync everysec:每个一秒进行一次持久化
appendfsync no:不进持久化
以上三条命令,大家可以选择需要的持久化方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值