Redis数据库—基础操作:字符串操作、列表操作、无序集合操作(尾部有Redis相关面试题)

Redis数据库

一、简介

redis数据库是一个基于内存存储的数据库,所以,redis数据库的访问速度极快,因此,redis数据库可以做缓存系统,redis数据库一般用于做分布式的集群,可以提高网站的响应速度,redis数据库的数据存储是用key-value形式存储的。

二、redis数据库优点

  • redis数据库开源免费的。
  • redis数据库支持多种数据结构,比如:字符串、列表、哈希表、集合(有序集合和无序集合)。
  • 支持原子操作、支持事务。
  • 支持发布和订阅。
  • 支持数据过期功能。
  • 对数据有高可用性和可扩展性。

三、redis数据库的安装及启动

Redis安装包:
Redis-x64-3.2.100版本安装包
提取码:9u9i

安装:解压即可

启动数据库:
启动服务:redis-server redis.windows.conf
启动数据库:redis-cli

直接点击redis文件不能指定配置文件,所以需要在cmd中启动

四、Redis数据库操作

注:Redis数据库默认端口号是:6379

  • redis数据库默认有16个数据库【0-15】,默认进入的是0库。
  • select 数据库名 :切换数据库。
  • keys * :查看所有的键。
  • expire 键 秒数:设置过期时间。
  • persist 键:移除过期时间。
  • del 键:指定键进行删除。返回值代表删除的个数。
  • flushdb:清空当前数据库中的所有内容。
  • flushall:清空所有数据库的所有内容。
1. 字符串操作

(1)set key value:设置一个键值对,返回ok代表设置成功。如果对同一个key设置不同值,相当于修改。

(2)get key:获取对应键的值。
在这里插入图片描述
(3)setnx key value:设置一个键值对,如果键存在,不会覆盖,不存在则设置。
在这里插入图片描述
(4)setex key 秒数 value:设置一个指定有效期的键值对。
10秒后gender将不存在
(5)setrange key 偏移量(索引) value :替换,从偏移量的位置开始替换,返回值是替换后的字符串的长度。
在这里插入图片描述
(6)mset key1 value1 key2 value2……:批量设置键值对
在这里插入图片描述
(7)mget key1 key2……:批量获取。
在这里插入图片描述
(8)msetnx key1 value1 key2 value2……:批量设置键值对,如果键存在不会覆盖,不存在则创建。
在这里插入图片描述
(9)getset key new_value:获取key的原值,设置新值,返回值是原值。
在这里插入图片描述
(10)getrange key start end:获取指定范围(索引范围:[start,end])的内容
在这里插入图片描述
(11)incr key:给对应键的值++,就是+1
在这里插入图片描述
(12)incrby key value :给对应键的值,加上指定的数
在这里插入图片描述
(13)decr key :给对应键的值–,就是-1
在这里插入图片描述
(14)decrby key value:给对应键减去对应的值
在这里插入图片描述

(15)append key value:给指定的键追加指定的值,返回值是增加后的总长度。
在这里插入图片描述

(16)strlen key:查看字符串的长度。

在这里插入图片描述

2. Redis数据库中的列表指令

注:redis数据库中的列表是双向链表结构,基于这种结构,redis数据库的列表可以实现栈和队列。

(1)lpush key value:在列表头部插入元素,返回值代表添加后的列表的长度。
在这里插入图片描述

(2)lrange key start stop:查看列表中指定范围的元素。
在这里插入图片描述

(3)rpush key value:在列表尾部插入元素
在这里插入图片描述

(4)lpop key:从头部弹出一个元素,返回值是删除的元素
在这里插入图片描述

(5)rpop key:从尾部弹出一个元素,返回值是删除的元素
在这里插入图片描述

(6)linsert key BEFORE|AFTER 值 新值:在原有元素之前或之后插入一个元素,返回值是插入之后的列表的长度。
在这里插入图片描述

(7)lset key 索引 新值:修改指定索引位置上的元素。
在这里插入图片描述

(8)lrem key count 值:从key中删除指定数量的元素。

count>0 代表头部删除
count<0 代表尾部删除
count=0 代表全部删除
在这里插入图片描述

(9)ltrim 键 start end:保留[start,end]范围内的元素,或者删除[start,end]范围外的元素。
在这里插入图片描述

(10)lindex 键 索引 :查看指定索引上的元素
在这里插入图片描述

(11)rpoplpush key1 key2 :从key1的尾部删除元素,将删除的元素添加到key2的头部,返回值是删除的元素。
在这里插入图片描述

(12)llen 键:查看列表的长度

在这里插入图片描述

3. Redis数据库中的无序集合

注:集合是没有重复元素的

(1)sadd key member1 member2……:向集合中插入多个元素,返回值是插入成功的元素数量。
在这里插入图片描述

(2)smembers key:查看集合中的元素数量。

在这里插入图片描述
(3)srem key value1 value2……:指定成员进行删除,返回值是删除成功的元素数量。
在这里插入图片描述

(4)spop key 【count】:从集合中随机弹出count个元素,默认弹出1个 ,返回值是弹出的元素。
在这里插入图片描述
在这里插入图片描述

(5)srandmember key [count]:随机获取count个元素,默认获取一个,返回值是获取的元素。
在这里插入图片描述

(6)smove key1 key2 value :将key1中的value移动到key2中。
在这里插入图片描述
在这里插入图片描述

(7)scard key:查看集合长度。
在这里插入图片描述

(8)sdiff key1 key2 :查看两个集合中的差集。
在这里插入图片描述
在这里插入图片描述

(9)sinter key1 key2:查看两个集合的交集。
在这里插入图片描述

(10)sunion key1 key2 :查看两个集合的并集。
在这里插入图片描述

(11)sismember key value:判断value是否在集合中存在,返回值1代表存在,0代表不存在。
在这里插入图片描述

五、有可能被问到的有关Redis数据库的面试题:

redis数据库和memcached数据库相比,区别是什么?

  1. Redis和memcached都是基于内存存储的数据库。
  2. Redis数据库可以用来存储数据,memcached用来做缓存。
  3. 对于Redis数据库来说,存储的数据库结构有多种,但是对于memcached数据库来说,存储的内容只能是字符串类型。
  4. memcached数据库和Redis数据库相比,延迟要低一点。
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值