Redis第二弹

本文介绍了Redis中存储对象的三种方式:字符串、哈希和列表,并展示了相关命令的使用,如`lrem`、`getrange`、`hincrby`。还涉及Redis配置获取、触发RDB快照的方法以及解决`lpush`命令错误的问题。此外,讨论了Redis主从复制的机制和`appendonly.aof`文件的修复。
摘要由CSDN通过智能技术生成

视频课

【狂神说Java】Redis最新超详细版教程通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

Redis中存对象的方式

# 字符串String
#json格式,取出来后要切割字符串好获得对象的各个属性
127.0.0.1:6379> set user:1 {name:wu,age:3} 
OK
127.0.0.1:6379> get user:1
"{name:wu,age:3}"

# 字符串String
127.0.0.1:6379> mset user:1:name wu user:1:age 2 # mset命令用于同时设置一个或多个 key-value对
OK
127.0.0.1:6379> mget user:1:name user:1:age # mget命令返回所有(一个或多个)给定key 的值。
1) "wu"
2) "2"

# 哈希Hash
127.0.0.1:6379> hset user:1 name wu
(integer) 1
127.0.0.1:6379> hget user:1 name
"wu"

Redis中几条命令

1、lrem key count element

移除列表key的从左到右(从上到下),数count个element元素。

127.0.0.1:6379> rpush list 1 2 1 3 1 4
(integer) 6
127.0.0.1:6379> lrange list 0 -1
1) "1"
2) "2"
3) "1"
4) "3"
5) "1"
6) "4"
127.0.0.1:6379> lrem list 2 1
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "2"
2) "3"
3) "1"
4) "4"
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> lpush list 1 2 1 3 1 4
(integer) 6
127.0.0.1:6379> lrange list 0 -1
1) "4"
2) "1"
3) "3"
4) "1"
5) "2"
6) "1"
127.0.0.1:6379> lrem list 2 1
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> 

2、getrange key start end

getrange命令的下标从0开始,getrange key 0 2为获得[0,2]

127.0.0.1:6379> set key value
OK
127.0.0.1:6379> getrange key 0 2
"val"

3、hincrby key field increment

hincrby命令:将key保存的值加上一个整数,如果key不存在则添加key。

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> hincrby myhash field 3
(integer) 3
127.0.0.1:6379> hincrby myhash field 3
(integer) 6
127.0.0.1:6379> hget myhash field
"6"
127.0.0.1:6379> hgetall myhash
1) "field"
2) "6"

4、Config Get 命令

Config Get 命令:获取 redis 服务的配置参数。

127.0.0.1:6379> config get dir #得到dir这个配置
1) "dir"
2) "/usr/local/bin"
127.0.0.1:6379> config get * #得到所有配置
  1) "rdbchecksum"
  2) "yes"
  3) "daemonize"
  4) "yes"
	  。。。

报错的解决:ERR wrong number of arguments for ‘lpush’ command

解决:在Redis 2.4版本以前的 LPUSH 命令,都只接受单个 value 值。所以要下载3.2.100的Windows版本的Redis。

Windows版本Linux下载:Release 3.2.100 · microsoftarchive/redis
在这里插入图片描述

如何触发RDB(Redis DataBase)快照

1、命令save/bgsave。
save是同步。
bgsave是异步,fork出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

127.0.0.1:6379> save
OK

2、命令flushall
3、退出redis时,下面的方式退出redis,会把cli和server都退出了。

127.0.0.1:6379> shutdown 
not connected> exit
[root@wu1 ~]#

4、达到redis.conf里的条件,如“save 120 10”,也会产生dump.rdb文件。

修复appendonly.aof文件

appendonly.aof文件所在目录:/usr/local/bin。
在这里插入图片描述

Redis主从复制

在主从复制中,rdb是备用的,在从机上面,因为不占主机内存。aof我们几乎不使用。

当主机断电宕机后,默认情况下从机的角色不会发生变化 ,集群中只是失去了写操作,当主机恢复以后,又会连接上从机恢复原状。
当从机断电宕机后,若不是使用配置文件配置的从机,再次启动后作为从机是无法获取之前主机的数据的,若此时重新配置称为从机,又可以获取到主机的所有数据。这里就要提到一个同步原理。
在这里插入图片描述

其他

1、Linux的命令模式下,直接按"/",然后输入要查询的字符串,有ctrl+f的效果,然后按n/N,向下/上查询。

2、修改完redis.conf文件想要这个文件的更改立马生效的话,关闭redis再重新打开就好了,即下面这样关闭。

127.0.0.1:6379> shutdown 
not connected> exit
[root@wu1 ~]#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值