Redis 学习笔记

  • 安装redis

  • 启动redis服务

    • redis-server
  • 启动redis命令行

    • redis-cli

  常识:

  默认redis 提供了 16个 数据库 数据库0~15 默认选择的是第一个库 0

  如何切换数据库?
  select 1 切换到第二个数据库

  


## 字符串类型操作 set


创建、获取 key-value键值对

创建 set site www.xiaoguan.net

获取 get site


set ip 10.10.3.232

get ip


查看当前库里所有的 key 定义

keys *



修改key名字 把定义的 site 改名为 website

rename site website


删除 key

del ip


移动key到其他库  把 website 从0号库 移动到 1号库

move website 1


判断key是否存在

exists key


给已有的key设置有效期 key 后面 跟个 时间 秒数

expire key 10


创建key的时候就设置有效期


查询key剩下多久时间过期 

ttl key

-1 没有设置有效期,永久有效

-2 已过期或没有找到

12 返回的数字表示剩下到期时间 为 12 秒


设置key过期时间用 毫秒 

pexpire abc 20000


查询毫秒剩余时间 

pttl abc


将已设置了 过期时间的 key 重新设置为 用不过期

persist abc


一次设置多个 key

mset a 1 b 2 c 3


## 链表类型 list 


创建 链表 - 从左侧添加 新加的在左侧

lpush newlist tom

lpush newlist mary

lpush newlist linken

image

查看链表值 lrange 开始 结束

lrange newlist 0 -1 从头到尾

image

lrange newlist 1 2  从第二个到第三个

image


llen 获取链表 长度

llen newlist

image


链表 从右侧添加

rpush newlist xiaoli

rpush newlist xiaoming

image

查看一下

lrange newlist 0 -1

image

链表 删除数据 从左侧删除 lpop 从右侧删除 rpop


格式:lpop key [count] ,rpop key [count]  count 可选项删除个数,不填默认是删除1个


lpop newlist  从左侧删除1个


rpop newlist 2 从右侧删除2个 


image

ltrim key start end 保留指定的区间保留,其他删除 start 是开保留区间的开始 end是结尾

ltrim newlist 1 3 保留从第2个~到4个其余的删除

image


## set 集合类型


set元素最大可以包含(2的32次方-1=4294967295)个元素

无序集合,交集(intersection),并集 (union),差集(difference)

每个集合中的各个元素不能重复