redis命令总结

1-2: redis string|hash 命令

  • set key value:添加元素
  • get key: 获取元素值

3: redis list 命令

  1. 查看:
    * lrange key start end: 获取链表中从start 到 end 的元素的值,
                      start end 从0 开始计算,也可以为负数,
                     若为-1,则表示链表的尾部元素,-2表示倒数第二
                      个, 依次类推
  2. 添加:
    lpush key values[value1 value2 …]: 从左端一次插入元素
    rpush key values[value1 value2 …]: 从右端一次插入元素
  3. 删除:
    lpop key:从左端弹出元素
    rpop key:从右端弹出元素
  4. 扩展命令:
    llen key:返回指定的key关联链表中的元素数量
    lrem key count value: (效率极为低下,要重新赋索引)
            删除count 个职位value的元素,如果ount大于0,从头
            向尾遍历并删除count个值为value的元素,如果count小于0,则从
            尾部向头部便利并删除,如果count等于0,则珊瑚链表中所有等于
            value 的元素;
    lset key index value: 设置链表中的 index 脚标的元素值 0 代表链表的头元素,
            -1 代表链表的尾元素
    linsert key before|after pivot value: (效率不高)
            在pivot 元素前或后插入value 这个元素
    rpoplpush resource destinaation: 将链表中的尾部元素弹出并添加到另外一个链
                              表头部可以同一个链表循环操作
    rpoprpush …
    lpoplpush …
    lpoprpush …

4: redis set 命令

sadd set1 a b c:添加元素
smembers set1: 查看set1的所有元素
srem set1 a b: 从set1中删除元素a b
sismember set1 a: 判断a是否在set集合里面
sdiff set1 set2: (差集)哪些元素属于set1,但是不属于set2
sinter set1 set2: (交集)哪些原属属于set1,又属于set2
sunion set1 set2: (并集)哪些元素属于set1和set2
scard key: 获取set中成员的数量(查看会员数量,或者用户数量)
srandmemger key: 随机返回set中的一个成员
sdiffstore set3 set1 set2: 把set1,set2 的差集结果存放到set3
sinterstore set3 set1 set2: …
sunionstore set3 set1 set2: 把set1,set2的并集存储到set3

5: redis sortedset 命令

zadd key 5000 xiaoming 1000 xiaohong 500 xiaozhang: 添加元素,顺序默认从小到大
zscore key member: 获取某个元素的分数
zcard key: 获取集合中的成员数量
zrem key xiaoming xiaohong: 从集合中删除元素
zrange key start end[withscores]: 范围查找,获取集合中脚标为start-end的
                          成员,[withscore] 参数表明返回的成员包含其分数
zrange key start end withscores: 带分数信息查询成员变量
zrevrange key start end[withscores]: 倒叙查找,就是从大到小
zremrangebyrank key start stop: 按照排名范围删除元素,也就是利用脚标
zremrangebyscore key min max: 按照分数范围来删除元素
zrangebyscore key min max[withscores]: 按分数显示
zrangebyscore key min max[withscores] limit offset count: 按分数显示多少个
zincrby key increment member: 设置指定成员的增加的分数, 返回更改后的分数
zcount key min max: 获取分数在 [min,max] 之间的成员数量
zrank key member: 返回成员在集合中的排名, 索引从小到大
zrevrank key member: 返回成员在集合中的排名, 索引从大到小

6: redis 通用命令

keys pattern:获取所有键值对
keys *: 通配符:
     *:表示任意0个或多个字符
     ?:一个问号表示一个字符
del key1 key2…:删除指定的键值对
exists key: 判断该key是否存在,1 代表存在 0 代表不存在
renname key newkey: 重命名key值
type key: 获取指定的key的类型,该命令将以字符串的格式返回。返回的字符串为
        string,hash,list,set和zset
expire key: 设置key的过期(生存)时间
ttl key: 获取该key所剩的超时时间 -2表示已经过期,会被删除
       -1表示永久存在

7: 消息订阅与发布

subscribe channel: 订阅频道
psubscribe channel*:批量订阅频道
publish channel content: 在指定的频道中发布消息,如:publish mychat ‘hello ant’

8: 多数据库

a: redis 也是有数据库的,安装的过程中redis已经提前给我们创建好了;
  redis 默认有16个数据库:0、1、2、3…15
b: 在redis上所做的所有数据操作,都是默认在0号数据库上;
  数据库和数据库之间不能共享键值对;
c: 切换数据库:
  select 数据库名;
d: 把某个键值对进行数据库移植:
  move key 1:将当前的key移植到1号数据库
e: 数据库的清空:
  flushdb: 清空当前数据库的数据
  flushall: 清空所有数据的数据

9: redis批量操作-事务(说白了就是批量操作)

a: redis-事务: 目的是为了进行redis语句的批量化执行;
  multi:开启事务用于标记事务的开始,其后执行的命令都将被存入命令队列,
      直到执行exec时,这些命令才会被原子的执行,类似于关系型数据库中的:
      begin transaction
  exec: 提交事务,类似于关系型数据库中的:commit
  discard: 事务回滚,类似于关系型数据库中的:rollback

10: 服务器命令

ping: 测试链接是否存活 存活 返回PONG
echo: 在命令行打印一些内容(几乎不用)
select: 切换数据库
quit: 退出客户端
dbsize: 返回当前数据库中 key 的数目
info: 查看redis信息

11: redis的持久化

持久化: 把数据保存到硬盘上
  关系型数据库mysql持久化: 任何增删改查,都是在硬盘上的操作,断电以后,硬盘上
                       的数据还是存在;
非关系型数据库redis:默认情况下,所有的增删改,数据都是在内存中进行操作。断电后
                 reidis部分数据丢失,丢失的那部分是保存在内存中的数据;
redis 持久化策略:
  a: RDB(默认持久化策略): RDB 相当于照快照,保存的是一种态。
    优点:1-快照保存数据速度非常快,还原速度也是极快;
         2-适用于灾难备份;(rd可以恢复数据)
     缺点: 1-RDB符合要求就会照快照,例如服务器关闭、key满足一定条件。随时启动,
       占用资源(这个占有是突然的),小内存机器不适合使用,很可能内存不足导致
       服务器关闭
  RDB什么时候照快照?
    1-服务器关闭时,会照一次快照
    2-key满足一定条件时,会照一次快照,那么当可以满足什么条件时时打快照呢?       看redis.con配置:
        save 900 1: 每900秒(15分钟)至少有一个key发生变化,则dump内存
                快照;
        save 300 10: 每300秒(5分钟)至少10个key发生变化,则dump内存
                快照;
        save 60 10000:每60秒(1分钟)至少有10000个key发生变化,则dump
                   内存快照;
        例如1: 12:00-12:15-有一个key发生变化(key数据添加、修改、删除),
                      在12:15就照一次快照;
                      12:00-12:15-没有任何可以发生变化,则不会照快照;
  b: AOF: 适用于内存比较小的计算机,只会保存到值key变化的
        每秒同步(默认):每秒进行一次AOF保存数据(安全性低,比较节省系统资源)
        每修改同步:key修改同步(增、删、改),就进行AOF保存数据(比较安全,但
        是极为浪费效率)不同步:不进行任何持久化操作(不安全)
    优点:1-持续性,占有极少量的内存资源;
    缺点:1-日志文件会特别大,不适用灾难恢复

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值