Redis基础学习

安装配置启动

redis-6.2.1的安装压缩包(https://download.redis.io/releases/)

先对安装压缩包进行解压

tar -zxvf redis-6.2.1.tar.gz

解压之后将在当前目录下面多出来一个redis-6.2.1文件,将该文件移动至usr/local中去,一般都会将安装的应用程序放在此位置

mv redis-6.2.1 /usr/local

安装gcc环境,对于安装过程的询问选择:y

yum install gcc

安装完成之后,检查是否已经安装完毕:

gcc --version

安装完成gcc之后,对redis安装包进行编译:进入redis-6.2.1文件夹中执行编译指令

make

编译之后,执行安装指令

make install

安装完毕,默认的安装位置是/usr/local/bin

进入该文件夹中查看cd /usr/local/bin

-rwxr-xr-x. 1 root root 4833424 131 20:20 redis-benchmark
lrwxrwxrwx. 1 root root      12 131 20:20 redis-check-aof -> redis-server
lrwxrwxrwx. 1 root root      12 131 20:20 redis-check-rdb -> redis-server
-rwxr-xr-x. 1 root root 5003440 131 20:20 redis-cli
lrwxrwxrwx. 1 root root      12 131 20:20 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 9450272 131 20:20 redis-server

其中比较重要的两个文件是

redis-cli:redis服务器启动命令

redis-server客户端,操作入口

前台启动redis:

在redis的安装目录下执行:redis-server

停掉redis:Ctrl+c

配置后台启动

将redis安装目录下面的文件redis.conf复制到指定的位置(随意指定)

cp redis.conf /etc/redis.conf

更改新的文件的内容,将其中的daemonize no改为yes

进入到/usr/local/bin目录下面启动redis,

redis-server /etc/redis.conf

查看进程

ps -ef | grep redis

打开命令行工具

redis-cli

关闭命令行工具

exit

关闭redis进程

shutdown

或者使用kill命令关闭

kill -9 PID

基本命令

查看当前库所有key

keys *

设置key值与value

set key value

判断key是否存在

exists key

查看key是什么类型

type key

删除指定的key数据

del key

根据value选择非阻塞删除—仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。

unlink key

为给定的key设置过期时间

expire key 10

查看还有多少秒过期,-1表示永不过期,-2表示已过期

ttl key

数据库的选择

select nums

查看数据库的key数量

dbsize

清空当前库

flushdb

通杀全部库

flushall

String

添加键值:

set key value

查询对应键值:

get key 

将给定的值value追加到key原值的末尾

append key value

获取指定值key的长度

strlen key

只有在指定key不存在的时,设置key的值

setnx key value

将指定key中的数字值增一,只能对数字值进行操作

incr key

将指定key中的数字值减一,只能对数字值进行操作

decr key
incrby / decrby <key><步长>将 key 中储存的数字值增减。自定义步长。

同时设置一个或多个key_value的值

mset key1 value1 key2 value2

同时获取一个或者多个value

mget key1 key2 key3...

设置键值的同时,设置过期时间

setex key 过期时间 value

获的值的范围,类似与substring

getrange key 起始位置 结束位置

覆写key所储存的字符串值,从其实位置开始

setrange key 

List列表

从左边/右边插入一个或者多个值

lpush/rpush key1 value1 value2 value3

从左边/右边吐出一个值,

lpop/rpop key

从key1列表右边吐出一个值,插到key2列表左边

rpoplpush key1 key2

按照索引下标获取元素

lrange key start stop

获取所有的元素

lrange key 0 -1 

按照索引下标获取元素

lindex key index

获取列表的长度

llen key

在指定元素value 的前面插入新元素newvalue

linsert key before value newvalue

在指定的位置value开始从左边删除n个元素

lrem key n value

在指定位置下标index的元素替换成value

lset k1 index value

Set集合

自动排重

将一个或者多个member元素加入到集合key中,已经存在的member元素将被忽略

sadd key value1 value2...

取出key集合中所有的值

smembers key

判断集合key中是否含有指定的值value

sismember key value

返回指定集合元素的个数

scard key

删除集合中的指定元素

srem key value value2 ...

随机从该集合中吐出一个元素

spop key

随机从该集合中取出n个元素,不会从集合中删除

srandmember key n

把集合score中一个值value从一个集合destination移动到另一个集合

smove score destination value

返回两个集合的交集元素

sinter key1 key2

返回两个集合的并集元素

sunion key1 key2

返回两个元素的差集元素

sdiff key1 key2

Hash

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

类似Java里面的Map<String,Object>

给集合user:1001中的id键赋值1

hset user:1001 id 1

给集合key中的field键赋值value

hset key1 field value

从集合key1中去除field的值value

hget key1 field 

批量设置hash的值

hmset key1 field1 value1 field2 value2...

hmset user:1002 id 2 name lisi age 30

查看哈希表中key中给定域field是否存在

hexists key1 field

hexists user:1002 id

查看指定的hash集合中所有field

hkeys key

查看指定的hash集合中所有的value

hvals key

为哈希表 key 中的域 field 的值加上增量 1 -1

hincrby key field increment

hincrby user:1002 age 2

为哈希表key中的域field的值设置为value,当且仅当域field不存在

hsetnx key field value

hsetnx user:1002 gender 1

zset

Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。
不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。

将一个或者多个member元素及其score值加入到有序集key中

zadd key score1 value1 score2 value 

返回有序集key中,下标在start和stop之间的元素

zadd key start stop (withscores)

带上withscores可以让分数一起和值返回打结果集

返回有序集key中所有score值介于min和max之间的成员,从小到大排序

zrangebyscore key max min 

从大到小排序

zrevrangebyscore key min max

为元素value的score加上增量increment

zincrby key increment value

zincrby k1 50 java

删除指定集合下指定元素

zrem key value

统计指定集合下指定分数区间的元素个数

zcount key min max

返回指定值在集合中的排名,从零开始

zrank key value
对于学习Redis基础知识,可以按照以下思路进行学习: 1. 了解Redis的概念和特点:首先需要了解Redis是什么,它的主要特点是什么,它为什么被广泛应用于缓存、消息队列、会话管理等场景。 2. 安装和配置Redis:根据你的操作系统,安装Redis并进行相关配置。可以参考Redis官方文档或其他教程来完成这一步。 3. 学习Redis的数据结构:Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。了解每种数据结构的特点、用途和操作命令,并通过实际操作来加深理解。 4. 掌握Redis的常用命令:学习Redis的常用命令,如get、set、hget、hset、lpush、lrange、sadd、smembers等,了解每个命令的具体用法和参数含义。 5. 理解Redis的持久化机制:了解Redis的RDB和AOF两种持久化方式,以及它们的优缺点。学习如何进行备份和恢复数据。 6. 学习Redis的事务和Lua脚本:了解Redis事务的基本概念和使用方法,以及如何使用Lua脚本来进行复杂的操作。 7. 深入了解Redis的性能优化和高可用方案:学习如何优化Redis的性能,包括配置调优、使用合适的数据结构、合理地使用缓存等。同时了解Redis的高可用方案,如主从复制、哨兵模式和集群模式。 8. 学习Redis与其他技术的结合:了解Redis如何与其他技术进行结合,如与Python、Java等编程语言的配合使用,以及与Spring、Django等框架的整合。 以上是学习Redis基础知识的一个思路,你可以根据自己的实际情况和需求进行学习和拓展。推荐参考一些经典的Redis教程和实战案例,通过实际操作和项目实践来提升自己的技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值