大数据面试简答题(六) -Redis

1、什么是redis

Redis是一个基于内存的使用C语言编写的key-value开源的NOSQL存储系统。
不支持SQL语句。

2、Redis持久化数据的方式有哪些

1、RDB 触发式的序列化
Save 5 2 (5秒钟 有两个动作便会触发序列化)
2、AOF 日志形式的序列化
默认:一秒钟存储一次

3、解决IT行业数据读取瓶颈的终极方案

读写分离

4、Redis如何实现读写分离?

Redis本身支持读写分离,主节点可以读数据、可以写数据、从节点只能读数据。配置redis的主从复制机制可实现读写分离。

在从节点的配置文件中: 配置 slaveof 主机名 端口

5、介绍哨兵机制

哨兵机制解决了当主节点宕机导致的业务数据无法写入redis的问题
在redis的主从复制结构中,若没有哨兵机制,主节点宕机,将无法写数据到redis集群。

配置哨兵机制,当主节点宕机后,哨兵会在原本为从节点的服务器中选取一个作为主节点,接受外部数据的写入。以此实现当主节点宕机后redis依然可以写入数据的功能。

redis字符串操作必须掌握

添加字符串set hello world
设置多个KVmset AA AAA BB BBB CC CCC
设置过期时间setex hello1 5 word1
查询字符串get hello
查询多keymget hello hello2 hello3
查询长度strlen hello
修改字符串set hello world2
删除字符串del hello

Hash必须掌握

添加一个hash列表hset hkey1 name zhangsan
一次设置多个值hmset hkey3 name wangwu age 20 sex 1
查看数据hget hkey1 name
查询key内所有的字段hkeys hkey3
查询key的数据量hlen hkey3
查询某一key内多字段的值hmget hkey3 name age
修改数据hset hkey1 name zhangsan2
删除key中的数据hdel hkey3 sex

List必须掌握

添加一个或多个值到列表lpush lkey1 zhangsan lisi
向已经存在的列表中插入数据(右边插入)rpush lkey1 AA BB
查询list中所有数据 (-1表示所有)lrange lkey1 0 -1
通过索引查询数据lindex lkey1 0
通过索引修改数据lset lkey1 5 eee
删除指定key数据del lkey1
移出并获取列表的第一个元素lpop lkey1
移出并获取列表的最后一个元素rpop lkey1
移除列表的最后一个元素,并将该元素添加到另一个列表并返回rpoplpush lkey1 lkey2

Set 必须掌握

向集合添加一个或多个数据sadd skey1 zhangsan lisi
查询集合所有数据smembers skey1
查询两个集合的差值sdiff skey1 skey2
查询两个集合交集sinter skey1 skey2
查询并集sunion skey1 skey2
将数据在一个集合移动到另一个集合smove skey1 skey2 zhangsan
移除结果中的某个数据srem skey2 zhangsan

对Key的常用操作

查询所有符合模式的keyKeys *
查询key对应数据的类型Type hkey1
查询剩余过期时间(秒)ttl hkey1
对key进行重命名Rename hkey1 hkey10
删除存在的keydel BB

补充

  1. Redis默认有16个数据库
  2. 使用 select N (0-15)实现数据库的切换
  3. flushdb 清空一个数据库内的所有数据
  4. flushall 清空所有数据库内的所有数据
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值