redis相关命令讲解及原理
某一个元素没了,会删除key
https://gitee.com/HGtz2222/classroom_code/tree/master/redis-code
通过key找到对应的value,而关系数据库通过b+树索引。
这里的string不是字符串即'\0\结尾,而是以长度定义。'
集合无序但是唯一。zset有序的

key是用户定义的字节串。如果你输入rhash就表示你使用的是什么数据结构

不会因为\0而截断。val5通过第一个确定唯一,通过第二个确保有序。

安装redis

我来详细介绍如何编译安装Redis:
从源码编译安装
make install(安装)
作用 :将编译好的文件安装到系统目录
结果:
- 把
src/下的文件复制到/usr/local/bin/等系统路径 - 可以直接在任何地方使用
redis-server命令 


shell
# 1. 安装依赖
apt update
apt install -y build-essential tcl wget
# 2. 下载源码
cd ~
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
# 3. 解压
tar -xzf redis-7.2.4.tar.gz
cd redis-7.2.4
# 4. 编译
make install
# 5. 测试编译(可选)
make test
# 6. 安装到指定目录
mkdir -p /opt/redis
make PREFIX=/opt/redis install
# 7. 复制配置文件
mkdir -p /opt/redis/etc
cp redis.conf /opt/redis/etc/
# 8. 启动测试
/opt/redis/bin/redis-server /opt/redis/etc/redis.conf &
/opt/redis/bin/redis-cli ping




kv
假如有7个键,那么我们需要2的3次方个数组,存储0-7的值对8取余,对应索引值。 如果有两个一样的键就会用链表链接起来



string
字符数组,该字符串是动态字符串row,字符串长度小于1M时,加倍扩容;超过1M 每次只多扩1M;字符串最大长度为512M;
注意:redlis字符串是二进制安全字符串;可以存储图片,二进制协议等二进制数据;

incr teacher (1000-》1001)指的是我请求了incr然后你就返回修改后的最新值,不用在请求一次,对应的是网络行为。



cache 64b,不内存对齐,刚好占用20b


用 :分割

list

阻塞-连接机制,会占用连接的
brpop 会阻塞,如果其中一个阻塞,另外一个push就会给另外一个返回结果。







定时器




...(img-fP3qCAcE-1767969164601)]
外链图片转存中...(img-6Zi3KKPU-1767969164601)
外链图片转存中...(img-CzSWpyQN-1767969164601)
外链图片转存中...(img-1HklxtfP-1767969164601)