redis入门之redis数据库的基础操作(内含常见面试题)
目录
一、概述
二、字符串操作命令
1、操作
2、示例代码
三、哈希操作命令
1、操作
2、示例代码
四、列表操作命令
1、操作
2、示例代码
五、集合操作命令
1、操作
2、示例代码
六、有序集合操作命令
1、操作
2、示例代码
七、通用命令
1、操作
2、示例代码
八、常见redis面试题
1、Redis的数据持久化策略有哪些 ?
2、Redis集群有哪些方案, 知道嘛 ?
一、概述
Redis 是一个开源的内存数据结构存储系统,支持多种数据类型,可用于缓存、消息队列、排行榜等场景。它具有高性能、丰富的命令集和灵活的数据结构。
二、字符串操作命令
1、操作
- SET:设置键的值。
- GET:获取键的值。
- INCR/INCRBY:自增操作,可以指定增量。
- DECR/DECRBY:自减操作,可以指定减量。
2、示例代码
SET mystring "Hello, Redis!"GET mystringINCR mycounterINCRBY mycounter 5DECR mycounterDECRBY mycounter 3
三、哈希操作命令
1、操作
- HSET:设置哈希表中的字段值。
- HGET:获取哈希表中指定字段的值。
- HDEL:删除哈希表中的一个或多个字段。
- HKEYS:获取哈希表的所有键。
- HVALS:获取哈希表的所有值。
- HGETALL:获取哈希表的所有键值对。
2、示例代码
HSET myhash field1 "value1" field2 "value2"HGET myhash field1HDEL myhash field1HKEYS myhashHVALS myhashHGETALL myhash
四、列表操作命令
1、操作
- LPUSH/RPUSH:从列表左侧或右侧插入一个或多个元素。
- LPOP/RPOP:从列表左侧或右侧弹出一个元素。
- LRANGE:获取列表指定范围内的元素。
2、示例代码
LPUSH mylist "element1" "element2"RPUSH mylist "element3"LPOP mylistRPOP mylistLRANGE mylist 0 -1
五、集合操作命令
1、操作
- SADD:向集合中添加一个或多个元素。
- SREM:从集合中删除一个或多个元素。
- SMEMBERS:获取集合中的所有元素。
- SISMEMBER:判断一个元素是否在集合中。
2、示例代码
SADD myset "element1" "element2" "element3"SREM myset "element2"SMEMBERS mysetSISMEMBER myset "element1"
六、有序集合操作命令
1、操作
- ZADD:向有序集合中添加一个或多个成员,或者更新已存在成员的分数。
- ZREM:从有序集合中删除一个或多个成员。
- ZRANGE/ZREVRANGE:按分数从小到大或从大到小获取指定范围内的成员。
- ZSCORE:获取成员的分数。
2、示例代码
ZADD myzset 10 "member1" 20 "member2"ZREM myzset "member1"ZRANGE myzset 0 -1ZREVRANGE myzset 0 -1ZSCORE myzset "member2"
七、通用命令
1、操作
- EXISTS:检查给定的键是否存在。
- DEL:删除指定的键。
- TYPE:返回键对应的值的类型。
2、示例代码
EXISTS mykeyDEL mykeyTYPE myhash
八、常见redis面试题
1、Redis的数据持久化策略有哪些 ?
RDB:
定期更新,定期将Redis中的数据生成的快照同步到磁盘等介质上,磁盘上保存的就是Redis的内存快照
优点:数据文件的大小相比于aop较小,使用rdb进行数据恢复速度较快
缺点:比较耗时,存在丢失数据的风险
AOF:
将Redis所执行过的所有指令都记录下来,在下次Redis重启时,只需要执行指令就可以了
优点:数据丢失的风险大大降低了
缺点:数据文件的大小相比于rdb较大,使用aop文件进行数据恢复的时候速度较慢
2、Redis集群有哪些方案, 知道嘛 ?
1、主从复制
保证高可用性
实现故障转移需要手动实现
无法实现海量数据存储
2、哨兵模式
保证高可用性
可以实现自动化的故障转移
无法实现海量数据存储
3、Redis分片集群
保证高可用性
可以实现自动化的故障转移
可以实现海量数据存储