必威体育Betway必威体育官网
当前位置:首页 > IT技术

每日问答10

时间:2019-10-15 17:42:11来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

历史问答题

一、redis有哪些类型?

  1. string是redis最基本的类型,一个key对应一个value,一个键最大能存储512MB。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

  2. Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis中每个 hash 可以存储 232 - 1 键值对, 可以看成具有KEY和VALUE的MAP容器,该类型的数据仅占用很少的磁盘空间

  3. Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

  4. Redis 的 Set 是 string 类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

  5. Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

二、redis String类型有哪些常用命令?列举6个

  1. set key value:Redis SET 命令用于设置给定 key 的值。如果 key 已经存储值, SET 就覆写旧值,且无视类型

  2. get key:Redis GET命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key储存的值不是字符串类型,返回一个错误。

  3. getrange key start end:用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)

  4. getset key value:Getset 命令用于设置指定 key 的值,并返回 key 的旧值,当 key 不存在时,返回null;

  5. del key:删除指定的KEY,如果存在,返回值数字类型。(删除语法)

  6. incr key:Incr 命令将 key 中储存的数字值增1。如果 key 不存在,那么 key 的值会先被初始化为0 ,然后再执行 INCR 操作(自增)

  7. decr key:decR 命令将 key 中储存的数字减1(自减)

三、redis String类型有哪些应用场景?列举4个

分布式锁;计数器;保存图片内容;保存json字符串数据

1、String通常用于保存单个字符串或JSON字符串数据

2、因String是二进制安全的,所以你完全可以把一个图片文件的内容作为字符串来存储

3、计数器(常规key-value缓存应用。常规计数: 微博数, 粉丝数)

INCR等指令本身就具有原子操作的特性,所以我们完全可以利用redis的INCR、INCRBY、DECR、DECRBY等指令来实现原子计数的效果。假如,在某种场景下有3个客户端同时读取了mynum的值(值为2),然后对其同时进行了加1的操作,那么,最后mynum的值一定是5。不少网站都利用redis的这个特性来实现业务上的统计计数需求。

四、redis Hash类型有哪些常用命令?列举4个

  1. HSET KEY FIELD VALUE //为指定的KEY,设定FILD/VALUE (赋值)

  2. HGET KEY FIELD //获取存储在HASH中的值,根据FIELD得到VALUE(取值)

    1. ​HMGET key field[field1] //获取key所有给定字段的值

    2. ​ HGETALL key //返回HASH表中所有的字段和值

    3. ​ HKEYS key //获取所有哈希表中的字段

    4. ​HLEN key //获取哈希表中字段的数量

  3. HDEL KEY field1[field2] //删除一个或多个HASH表字段(删除)

  4. HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值

  5. HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment 。

  6. HINCRBYFLOAT key fieldincrement 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

  7. Hexists key field //查看哈希表 key 中,指定的字段是否存在

五、redis Hash类型有哪些应用场景?列举4个

购物车;商品详情;个人信息详情;新闻详情

六、jedis客户端和RedisTemplate你认为的区别?

Jedis是Redis官方推荐的面向java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他spring框架进行搭配使用如:Springcache

七、redis缺点是什么?(有什么解决方案)

1.服务器意外关机导致数据丢失:根据条件进行持久化

2.持久化:redis的数据是存储在内存中,若想要放入硬盘中需要进行持久化;有两种方式:

​ 定时快照:将整个数据库写入硬盘中,每次都是写入全部数据,代价非常大;

​ 语句追加(aof):追踪变化的数据,但是追加的log可能非常大,同时所有的操作都要执行一边,回复的慢;

3.耗内存:优化存储方式;配置更大的内存

文章创建于: 2019-09-17 10:08:01

相关阅读

win10中wpcap.dll丢失的解决办法(解决Proteus中与网络

解决Proteus中与网络类仿真相关的模块报错问题,如ENC28J60。 使用windump时,提示wpcap.dll丢失。 下载win10pcap.msi安装。 网址:htt

Windows 10 磁盘重新分区

Windows 10 磁盘重新分区 1. 此电脑 -> 右键 -> 管理2. 存储 -> 磁盘管理3. 压缩卷3.1 选择待分区磁盘 -> 右键 -> 压缩卷3.2 102

下载 WIN10 系统镜像

这里推荐一个网址:https://msdn.itellyou.cn/这里有各种系统提供下载~那么可能小白会遇到问题,看不懂英文business:商业版consumer:消

华为Mate 30发布,苏宁推出以旧换新400补贴等10大福利

9月19日晚,华为在德国慕尼黑举办Mate 30系列发布会,发布年度旗舰手机华为Mate30系列。据悉,华为新品手机已于9月20日0点在苏宁开启预

微信营销案例分析 最经典的10大营销案例

在这一年中,涌现了许多在微信营销方面取得成功案例。小编精选了本年度微信营销案例最经典的十个案例,和广告同仁共同探索学习一下。

分享到:

栏目导航

推荐阅读

热门阅读