了解redis以及其基本命令

文章详细介绍了Redis的编译安装过程,包括下载源码、编译及启动服务。接着,文章阐述了Redis作为一个内存数据库、kv数据库的角色,以及其作为数据结构服务器的特点,如string、list、hash、set和zset等数据结构。此外,还列举了一些Redis的基本命令和范围相关命令。最后,提到了Redis在热点数据缓存等场景的应用。
摘要由CSDN通过智能技术生成

1 编译安装

git clone https://gitee.com/mirrors/redis.git -b 6.2
cd redis
make -j4
make test -j4
sudo make install
默认安装在 /usr/local/bin
redis-server 是服务端程序
redis-cli 是客户端程序

2 启动

1 mkdir redis-data 把redis文件夹下 redis.conf 拷贝到 redis-data
2 修改 redis.conf
找到 #requirepass foobared
将注释符号(#)去掉,并将"foobared"替换为你想要的密码,譬如修改为: requirepass 123456
然后
3 cd redis-data
启动服务 redis-server redis.conf
4 客户端通过 redis-cli 访问 redis-server
redis-cli -h 127.0.0.1 -a 123456

3 redis 是_

3.1 远程字典服务

Dictionary Service 的简称;也是远程字典服务(一个独立运行的进程);
通过tcp 与 redis 建立连接交互;
请求回应模型:客户端发出请求后,会得到回应,客户会知道它的请求的结果;
通过字典的方式索引数据。

3.2 内存数据库

数据都在内存当中

3.3 kv数据库

存储方式:key - value 对是存储在一起的
操作方式:通过key去找到 key - value存储的位置

value是数据结构,通过key找到val(数据结构),然后再通过“命令”去操作数据结构。
有哪些“命令”?====> redis命令中心: http://redis.cn/commands.html
具体操作见第6节:数据演示

key 通过siphash进行哈希运算,生成一个64位的哈希值,然后对数组长度取余,算出key在数组中的下标,
value是key对应的数据结构,如下图:
在这里插入图片描述

3.4 数据结构数据库

通过k去访问 不同类型的数据结构
有哪些类型的数据结构呢?
常用的如下:

3.4.1 string 是一个安全的二进制字符串;

3.4.2 双端队列 (链表) list :有序(插入有序);

例如从左侧插入:
在这里插入图片描述
t1最先插入,所以被挤到了最右边,处在第四个元素的位置

3.4.3 散列表 hash :对顺序不关注,field 是唯一的;

3.4.4 无序集合 set :对顺序不关注,里面的值都是唯一的;

在这里插入图片描述

3.4.5 有序集合 zset :对顺序是关注的,里面的值是唯一的;根据member 来确定唯一;根据 score (c1, c2, c3)来确定有序。

在这里插入图片描述
t1,t2,t3按80 90 100 排序

3.4.5 总结:

在这里插入图片描述
上图中的c1, c2, c3 理解 score, 排序的依据; m1,m2,m3是member,用来确定唯一

4 应用

热点数据的缓存,以减轻磁盘数据的压力(hash)。
。。。

5 redis常用命令

5.1 基本命令

SET key value:设置键值对
GET key:获取指定键的值
DEL key:删除指定键
EXISTS key:判断指定键是否存在
INCR key:将指定键的值加 1,并返回新的值
DECR key:将指定键的值减 1,并返回新的值
KEYS pattern:查找所有符合模式匹配的键名列表
EXPIRE key seconds:设置指定键的过期时间(单位为秒)
TTL key:查询指定键还有多长时间过期(单位为秒)
HSET hash_key field value:在哈希表中设置字段和相应的值
HGET hash_key field:获取哈希表中字段对应的值
HMSET hash_key field value [field value …]:一次性设置哈希表中多个字段和相应的值
HMGET hash_key field [field …]:一次性获取哈希表中多个字段对应的值

5.2 与range相关的命令

Redis 中与 range 相关的命令主要有以下几种:

ZRANGE key start stop [WITHSCORES]:返回有序集合中指定索引范围内的成员,支持按分值排序和返回分值
ZREVRANGE key start stop [WITHSCORES]:返回有序集合中指定倒序索引范围内的成员,支持按分值排序和返回分值
LRANGE key start stop:返回列表中指定索引范围内的元素
LTRIM key start stop:对列表进行修剪,只保留指定索引范围内的元素
SRANDMEMBER key [count]:随机获取集合中一个或多个元素,支持重复元素
以上命令都支持指定起始和终止索引来限制返回结果的数量。其中 ZRANGE 和 ZREVRANGE 命令还支持 WITHSCORES 参数以便同时返回成员和其对应的分值。LRANGE 命令可以用于实现简单队列或栈功能
start, stop是标号,从0开始,当stop为 -1, 表示最后一个。
在这里插入图片描述

6 redis 中 value 编码

value就是key对应的数据结构,value会有各种各样的特征,因此需要预设一些规范。
常用如下:
在这里插入图片描述
文章参考与<零声教育>的C/C++linux服务期高级架构系统教程学习:链接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值