Redis从菜鸟开始学起:一

1、是什么

  • 开源的、高性能键值对内存数据库
  • NoSQL数据库
  • 单线程的

2、value数据类型

  • 字符串类型(string)
  • 散列类型(hash)
  • 列表类型(list)
  • 集合类型(set)
  • 有序集合类型(sortedset、zset)

2.1 string

set key value:设置学号010101的是张三
学号为010101的是张三
get key:查询学号是010101的同学姓名
在这里插入图片描述
getset key newvalue:查询学号010101同学姓名,并且重新赋值:李四
在这里插入图片描述
setnx key value:如果学号010102还没有指定同学,那么把王五赋值给它;如果已经指定,那么就算了
在这里插入图片描述
exists:查一下是否有学号为010103这个同学
在这里插入图片描述

2.2 hash

一次设置一个字段值:hset key field value

hset user username zhangsan
hset user age 12

一次设置多个字段值:hmset key field value [field value …]

hmset user username zhangsan age 12

当字段不存在时赋值:hsetnx key field value

hsetnx user age 30

获取一个字段值:hget key field
获取多个字段值:hmget key field [field …]
获取所有字段值:hgetall key
删除一个或多个字段:hdel key field [field …]

2.2.1 内部编码

哈希类型内部编码有两种:

  • ziplist(压缩列表):当哈希类型元素的个数小于hash-max-ziplist-entries配置,默认是512,同时所有值都小于hash-max-ziplist-value配置时,默认是64字节,Redis会使用ziplist作为哈希类型的内部实现,ziplist使用更加紧凑的结构实现多个元素的连续存储,所以在节省内存方面比hashtable更加优秀。
  • hashtable(哈希表):当哈希类型无法满足ziplist的条件时,Redis会使用hashtable作为哈希的内部实现,因为此时ziplist的读写效率会下降

2.3 list

可以存储一个有序的字符串列表
lpush key value [value …]
rpush key value [value …]
lrange key start stop:索引从0开始,-1代表最后边的一个元素
lpop key
rpop key

2.4 set

set存储的数据是不重复、没有顺序
sadd key member [member …]
srem key member [member …]

2.5 zset

zadd key score member [score member …]

2.6 通用命令

keys mylist*  #### 返回满足条件的所有key
del test
exists test #### 确认key test是否存在
expire key seconds  #### 设置key的生存时间(单位:秒)
ttl key  #### 查看key剩余的生存时间
persist key  #### 清除生存时间
pexpire key milliseconds  #### 生存时间设置单位为毫秒

type key  ### # 显示指定key的数据类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值