redis入门到精通学习

Redis入门

Redis

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,

  • redis支持数据的持久化,可以将内存中的数据存储到磁盘中。
  • 不仅仅支持key-value类型的数据,还支持list,set,zset,hash等数据结构
  • 支持数据的备份

redis的特点

  • 极高的性能,读取速度可达110000次/s;写的速度高达81000次/s
  • 支持多种数据类型
  • 所有操作都是原子性的(包括多步操作)
  • Redis 支持持久化 内存数据库 持久化到硬盘中
  • Redis单进程,单线程 效率高 Redis实现分布式锁

redis的数据类型和相关命令

  • string 字符串

一个键最大可以存512mb

//存入
set mykey "hello word"
//取出
get mykey
//返回key中的字符串的子字符串
getrange key start end
// 将key的值设为value并返回旧值
getset key value
//对key所存储的字符串,获取指定偏移量上的位
getbit key offset
//获取所有给定key的值
mget key1 [key2...]
//对所有key存储的字符串,设置或清除指定偏移量上的位
setbit key offset value
//将值value关联到key,并将key的过期时间设为seconds
setex key seconds value
//只有在key不存在时设置key的值
setnx key value
//返回key所存储的字符串的长度
srtlen key
//将key中存储的值加一
incr key
//将key所存储的值加上给定的增量值
incrbyfloat key increment
//在key后面追加字符串
append key value
  • hash 哈希
    适合存储对象
// 存入
hmset myhash mykey01 "hello" 
//取出
hget myhash mykey01
// 获取存储在哈希表中指定key的所有字段和值
hgetall key
//为哈希表key中的指定字段的整数值加上增量increment
hincrby key field incremtn
//获取所有哈希表中的字段
hkeys key
//获取哈希表中字段的数量
hlen key
// 将哈希表key中的字段field的值设为value
heset key field value
//只有在字符按field不存在时,设置哈希表字段的值
hsetnx  key field value
// 获取哈希表中所有的值
hvals ksy
  • list 列表
    列表是字符串列表,按照存入顺序排序

    //从头部插入
    lpush mylist hello
    //从尾部追加
    rpush mylist word
    //列出
    lange mylist 0 10
    //移除并获取第一个元素 ,如果没有元素会阻塞列表直到等待超时会发现可弹出的元素为止
    blpop key1 [key] timeout
    //移除并获取列表的最后一个元素。如果没有元素则会阻塞列表,直到等待时间超时,或发现可弹出的元素为止。
    brpop key1 [key2] timeout
    //从列表中弹出一值,并将弹出的元素插入到另一个列表中并返回它;如果没有元素则会阻塞直到超时,或发现可以弹出的元素
    brpoplpush source destination timeout
    //通过元素的索引获取列表中的元素
    lindex key index
    //获取列表的长度
    llen key
    //移除列表的第一个原元素
    lpop  key
    //将一个值插入到已存在的列表的头部
    lpushx key value
    //获取列表指定范围内的元素
    lrange key start stop
    //移除列表元素
    lrem key count
    //通过索引设置列表元素的值
    lset key index value
    //让列表只保留指定区间的元素
    Ltrim key start stop
    //移除列表的最后一个元素
    rpop key
    //移除列表的最后一个元素,并将该元素添加到另一个列表并防护
    rpoplpush source destination
    //为列表章添加多个值
    rpush key value1 [value2]
    //为已存在的列表添加值
    rpushhx key value
    
  • set 集合
    是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)

    //加入
    sadd myset aaa
    sadd myset bbb
    //列出
    smembers myset
    //获取结合的成员数
    scard key
    //返回指定结合的差集
    sdiff key1 [key2]
    //返回给定集合的差集并存储
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值