redis相关概念及常用命令

1.什么是redis

    redis是一个nosql(not only sql)数据库,非关系型数据库

    关系型数据库:以二维表的形式存储数据

 菲关系型数据库:以键值对形式存储数据(key,value形式)

    redis底层用C语言编

    redis是将数据存到内存中,由于内存存取速度快所以redis被狂烦应用在互联网项目中,

    redis优点:存取速度快,存取速度达到30万次每秒,具体限制于硬件

             缺点:对持久化支持不够良好

             所以redis一般不作为主数据库的存储,一般配合传统的关系型数据库使用

 

2.redis应用领域

    分布式缓存

 分布式session

    保存博客或者论坛的留言回复等

    总之是用在数据量大,并发量高的情况下

 

3. 怎么用

   Redis数据类型

        字符串String

                    存:SET key value

                    取:GET key

                    删:Del key

                    递增:INCR key      INCRBY key increment

                    递减:DECR key

        列表list redis中使用的是双向循环链表实现的,在redis中更像是栈

                        向列表左边增加元素 : lpush list:1 1 2 3

                        查看: lrange list:1 0 2

                        弹出元素: lpop list:1

                        获取个数: llen list:1

        散列Hash   一般应用于将redis作为分布式缓存,存储数据库中的数据对象

                        存:hset user username zhangsan    hmset user age 20 username lisi

                        取: hget user username     hmget user age username

                                  hgetall user

                        删: hdel user age

                        递增:hincrby user age 2

 

       集合Set set中数据是无序的并且不允许重复

                                 存:sadd set a b c

                                获取元素:smembers set

       有序集合zset 商品销售排行榜(根据分数自动排序)

                                存:zadd scoreboard 80 zhangsan 89 lisi 94 wangwu

                             取: zscore scoreboard lisi

                             删: zrem scoreboard lisi

                            排名在某个范围的元素: zrange scoreboard 0 2

                            获取分数:zrange scoreboard 0 1 WITHSCORES

      其他命令:

                     EXPIRE key seconds        设置key的生存时间(单位:秒)key在多少秒后会自动删除

                     TTL key 查看key生于的生存时间

                    PERSIST key 清除生存时间

                   PEXPIRE key milliseconds 生存时间设置单位为:毫秒

 

 

4. redis持久化方案

        Rdb:可以设置间隔多长时间保存一次(redis不用任何配置默认的持久化方案)

              优点:让redis的数据存取速度变快

              缺点:服务器断电时会丢失部分数据(数据的完整性得不到保障)

        Aof:可以设置实时保存

              优点:持久化良好,能保证数据的完整性

              缺点:大大降低了redis系统的存取速度

 

5.主从复制:

            这里使用了心跳检测机制,主从复制必须使用rdb持久化方式

          从服务器一般只读,保证主服务器和从服务器的数据一致性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些与Redis相关的常见面试题及其答案: 1. Redis是什么?它的特点是什么? 答:Redis是一种开源的内存数据存储系统,它支持键值对的存储。其特点包括高性能、持久化、支持多种数据结构、分布式和高可用性等。 2. Redis支持哪些数据结构? 答:Redis支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)和位图(Bitmap)等。 3. Redis的持久化机制有哪些? 答:Redis支持两种持久化机制:RDB(Redis Database)和AOF(Append Only File)。RDB是通过将内存中的数据快照保存到磁盘上的二进制文件,而AOF是通过将每个写操作追加到文件末尾来记录数据变化。 4. Redis的缓存淘汰策略有哪些? 答:Redis提供了多种缓存淘汰策略,包括LRU(Least Recently Used,最近最少使用)、LFU(Least Frequently Used,最不经常使用)、Random(随机替换)和TTL(Time To Live,过期时间)等。 5. Redis如何实现分布式? 答:Redis可以通过主从复制(Master-Slave Replication)和哨兵(Sentinel)来实现分布式。主从复制通过将主节点的数据复制到从节点上来实现数据的分布式存储,而哨兵则用于监控和管理Redis集群的高可用性。 6. Redis与Memcached的区别是什么? 答:Redis和Memcached都是内存数据存储系统,但两者有一些区别。Redis支持更多的数据结构,提供了更丰富的功能;Redis支持持久化,而Memcached不支持;Redis有更好的高可用性和分布式支持;Redis支持更多的编程语言客户端等。 7. 如何保证Redis的并发安全性? 答:Redis本身是单线程的,通过使用事件驱动机制和非阻塞IO来实现高并发。此外,Redis提供了事务和乐观锁等机制来保证并发安全性。 8. Redis的内存淘汰策略是如何工作的? 答:当Redis内存使用达到上限时,根据配置的内存淘汰策略,Redis会删除一些已有的键值对来释放内存空间。不同的策略会根据不同的规则选择要删除的键值对。 这些问题涵盖了Redis的基本概念、特点、数据结构、持久化、分布式和并发安全性等方面。在面试前,建议对Redis的原理和常用命令有一定的了解,并准备一些实际的应用场景以展示自己的经验和能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值