目录
记录此文章只是为了自己学的Redis的知识,方便后续进行复习。
Redis前置知识
每个新技术的发展都是为了解决相对应的问题。就拿Redis来说,它在如今的互联网中扮演着很重要的角色,它能解决什么问题呢?了解此项技术之前先来看看在互联网中常用的MySQL、Oracle等基于SQL技术的数据存储技术,在大多数时候都是读取数据多,写入的数据相对于读取来说要少得多。可能光是这样讲就很难体会到,讲一个可能不那么确切的现实生活中的现象吧,每天无聊时就会拿出手机,可能是刷刷视频、逛逛网店等,这个时候浏览审批的可能大于我需要去进行上传视频、查看商品爆款可能比我买的要少,而这个现象并非个例,是大多数人的操作,那么这个时候只是读取的要大于去操作数据库的情况。这样一来如果只是使用读取MySQL的数据的情况下,就会达到它性能的瓶颈,所以为了解决这个问题,就需要抽取一些爆款的、火爆的数据以供数据的数据进行读取。那么此时Redis就可以来解决这一问题,将这些读取较多的数据进行抽取并放入其中,而且在Redis是基于内存的存储,这样一来就保证了读取数据的迅速性。所以Redis与关系型的数据库并非敌对的关系而是相互配合去做事的合作关系。
关于Redis的几个网站:
https://redis.io/downloads/
https://github.com/redis/redis
https://try.redis.io
https://download.redis.io/releases/ -----需要进行下载的话这个可以重点关注一下,亲测了响应的时间挺快且方便。
https://redis.io ---官方地址。
Redis数据库安装
前提说明:在Redis的官网中,建议是不要在Windows上进行安装,如果非要需要请自行搜索安装方式。
1、通过https://download.redis.io/releases/ 网站去获取需要的版本。
2、下载后将文件上传到LINUX系统下。
3、将文件在LINUX所处的位置执行
tar -vzxf redis-7.0.9.tar.gz (如果需要的自定义文件夹的情况下在此处写上)
cd redis-7.0.9(或者cd 到解压的目录下)
4、进入到解压的文件后确定是否有以下文件。

重点关注是否有redis.conf、src、Makefile这几个文件。
5、执行以下命令。
make && make install
6、默认安装的目录在
/usr/local/bin
新建目录
mkdir /myredis
7、将最开始解压的目录下的redis.conf拷贝到自定义目录下后修改。
cp /opt/redis-7.0.9/redis.conf /myredis/redis7.conf
修改以下参数。

8、Redis启动
redis-server /myredis/redis7.conf
9、测试。
redis-cli -a 密码
10、关闭服务
redis-cli -a 密码 -p 端口号 shutdown
Redis卸载
Redis的卸载是比较简单的,方法是:1、停止服务,2、将Redis的所有链接方式和文件就可以了。
Redis十大数据类型
提前说明:十大数据类型指的是value的类型。
1、String:用于存储字符类型(二进制安全的,最多可以存储512M的数据)。
2、List:用存储于列表(双端列表,最多可以包含2^32-1个元素(4294967295,每个列表超过40亿个元素))。
3、Hash:用于存储哈希表(映色对象)。
4、Set:用于存储集合。
5、ZSet:用于存储有序集合。
6、CEO:用于存储地理空间。
7、HyperLongLong:用于存储基数统计。
8、bitmap:用于存储位图。
9、bitfield:用于存储位域。
10、Stream:用于存储流。
Redis的数据类型操作命令推荐
https://redis.io/commands/ -官网。
https://www.redis.cn/commands.html -中文官网
Redis中String类型的操作常用命令整合以及案例。
常用命令:
key * --查看所有的key
exisits key --判断是否存在key
type key --查看key的类型。
del key --删除key(会发生阻塞)
unlink key --非阻塞删除key
ttl key --查看key存活的时间(单位秒),-1表示永不过期、-2表示已过期、其余表示还剩余的时间。
expire key --为key设置过期时间(单位秒)
move key dbindex [0-15] --将当前数据库中的key移动到制定的数据库db中。
select dbindex [0-15] ---切换数据库
dbsize ---查看当前数据库的key数量。
flushdb --清空当前库(慎用
)。
flushall ---清空所有库(慎用
)。
对于类型的操作命令,命令可以不区分打小写,但是对于key是区分大小写的。
String类型:
set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT UNIX-time-seconds|PXAT UNIX-time-milliseconds|KEEPTTL]
参数说明:
nx:键不存在的情况下进行设置键值。
XX:键存在的时候设置键值(覆盖)
GET:返回原本的值,若值不存在时返回nil,替换原值。
EX seconds:以秒为单位设置过期时间。
PX milliseconds:以毫秒为单位设置过期时间。
EXAT unix-time-seconds:以秒为单位的UNIX时间戳所对应的时间为过期时间。
PXAT UNIX-time-milliseconds:以毫秒为单位的UNIX时间戳所对应的时间为过期时间。
KEEPTTL:保留设置前指定键的生存时间(再次设置时使用原来的过期时间)。

获取当前日期时间戳。
public static void main(String[] args) {
System.out.println(Long.toString(System.currentTimeMillis()/1000L));
}
MSET key value[key value ....] --设置多个值。
MGET key[key ......] --获取多个值
MSET/MGET/MSETNX --不存在的时候进行设置值(若存在则设置失败)
getrange/setrange --get为截取指定下标区间的字符串,set为替换目标的字符串(超出原有字符串则用"\x00"替换)

数值的增加减少(值必须为数字类型的)
INCR key --自增1
INCRBY key increment --增加指定步长。
DECR key --自减1
DECR key decrement ---减少指定步长。
STRLEN key ---获取字符串的长度。
APPEND key value ---追加字符串。

1543

被折叠的 条评论
为什么被折叠?



