02.1数据库redis的使用

一,字符串

  • set key value 设置key对应的值为string类型的value

  • get key 获取key对应的value值,如果key不存在返回nil

  • KEYS pattern 查找所有符合给定模式pattern(正则表达式)的 key

  • EXISTS key 返回key是否存在,如果存在返回1,不存在返回0

  • DEL key 删除一个key值

  • TYPE key 返回key所存储的value的数据结构类型,它可以返回string, list, set, zset 和 hash等不同的类型。

  • SETNX key value 将key设置值为value,如果key不存在,这种情况下等同SET命令。 当key存在时,什么也不做。nx是not exist的意思。 (主要用于检测是否有键已经存在,在不确定的时候依旧要set)

  • SETEX key seconds value 设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期。举例:setex lxz 5 jjj (多用于设置推荐之类的)限时滚动

  • SETRANGE key offset value 覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。如果offset比当前key对应string还要长,那这个string后面就补0以达到offset。举例set email 12345@qq.com 之后下一个语句: setrange email 6 gmail.com 导致最终的结果:eamil——12345@gmail.com, 完全覆盖第六个字符后的内容

  • INCR key 对存储在指定key的数值执行原子的加1操作。
    DECR key 对key对应的数字做减1操作。

  • MSET key value          批量存键值对

  • MGET key[key …]         批量取键值
    二 , 哈希

redis哈希是键值对的集合,它是是字符串字段和字符串值之间的映射,所以它们用来表示对象.

  • HSET key field value    设置 key 指定的哈希集中指定字段的值。举例:hset myhash jian top1 这个代表了哈希
  • HGET key field           返回 key 指定的哈希集中该字段所关联的值。
  • HKEYS key            返回 key 指定的哈希集中所有字段的名字。
  • HDEL key field [field …]        从 key 指定的哈希集中移除指定的域。
  • HLEN key             返回 key 指定的哈希集包含的字段的数量。
  • HMSET key field value [field value …]   设置 key 指定的哈希集中指定字段的值。
  • HMGET key field [field …]      返回 key 指定的哈希集中指定字段的值。
  • **HGETALL key          返回 key 指定的哈希集中所有的字段和值。**返回的是上面key下面value

三,链表list双端链表,可以作为栈(左进左出,或者 右进右出),作为队列:( 左进右出或者,右进左出).用于消息排行之类的

  • LPUSH key value [value …] 将所有指定的值插入到存于 key 的列表的头部。
  • LPOP key 移除并且返回 key 对应的 list 的第一个元素。
  • LRANGE key start stop 返回存储在 key 的列表里指定范围内的元素。 通常 lrange key 0 -1
  • LTRIM key start stop 修剪(trim)一个已存在的 list,这样 list 就会只包含指定范围的指定元素。是将list[只留下从left开始的 x —y 的成员
  • **上面的都是作为从左端操作的!**每一个都有对应的r操作

四,Set—无序集合    集合指一堆不重复值的组合, 应用于 如: 找两个集合的交集并集之类的.(共同好友)

  • SADD key member [member …]    添加一个或多个指定的member元素到集合的 key中
  • SMEMBERS key           返回key集合所有的元素。
  • SREM key member [member …]    在key集合中移除指定的元素。
  • SINTER key [key …]        返回指定所有的集合的成员的交集。
  • SUNIONSTORE destination key [key …]     返回给定的多个集合的并集中的所有成员,而是将结果存储在destination集合中。 sunionstore dest key1 key2   两个集合的并集的结果存在了dest

五,Sorted Set—有序集合     与set不同之处在根据有权重进行存储

  • ZADD key score member [score member …]     将所有指定成员添加到键为key有序集合(sorted set)里面。 添加时可以指定多个分数/成员(score/member)对。如:zadd mysortset 1 lj 2 lxz 3 ll    表示:键中的集合元素权重1 2 3 ,对应三个成员
  • ZRANGE key start stop [WITHSCORES] 返回有序集key中,指定区间内的成员。其中成员的位置按score值递减(从小到大)来排列。开始0,结束 -1 表返回所有
  • ZREVRANGE key start stop [WITHSCORES]    表示逆序输出

六, Pub/Sub—订阅/发布
  发件人(在 Redis 中的术语称为发布者)发送邮件,而接收器(订户)接收它们。信息传输的链路称为通道。Redis 一个客户端可以订阅任意数量的通道。
  你可以设定对某一个key 值进行消息发布及消息订阅,当一个 key 值上进行了消息发布后,所有订阅它的客户端都会收到相应的消息。这一功能最明显的用法就是用作实时消息系统,比如普通的即时聊天、群聊等功能

  • SUBSCRIBE channel [channel …]      订阅给指定频道的信息。一旦客户端进入订阅状态,客户端就只可接受订阅相关的命令。
  • PUBLISH channel message          将信息 message 发送到指定的频道 channel。
    一个客户端掌握,其他客户端来对某主题来进行发布,之后订阅频道的那一个就能够收到.

七, 事务
MULTI   标记一个事务块的开始。 随后的指令将在执行EXEC时作为一个原子执行。
EXEC    执行事务中所有在排队等待的指令并将链接状态恢复到正常。

八, 持久化
客户端敲save命令,即可创建当前 redis 数据库的备份,如果成功,自动在服务器启动所在目录生成dump.rdb文件.RDB持久化
在dump.rdb文件所在目录下,启动redis服务器,服务器自动会加载当前目录下的dump.rdb文件:
先持久化:    save   查询rdb的目录命令:   config get dir
  而持久化的条件在redis-conf 中为 save 900 1 代表900秒钟内有一次改动就rdb

并且,redis 不能直接连接服务器,所以要通过hredis来作为中间桥梁.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值