Redis学习笔记

Redis的数据结构:

        String(字符串)
        hash(哈希/链表/字典-php关联数组)
        list(字符串列表-php索引数组[打印数组显示是先进后出。队列先进先出])
        set(无序字符串集合)
        sorted set(有序字符串集合)
 
 
1.Redis的数据结构之字符串:
 
        set person jack         赋值增加一个键值对
 
        del person 删除
 
        get person 查询
 
        getset person jason        修改person值为jason
 
        incr num        如果没有num这个键则初始化为0,并+1,必须为数字类型
 
        decr num2        如果没有num这个键则初始化为0,并-1,必须为数字类型
 
        incrby num 5        给num加指定的数值5
 
        decrby num 3        给num减3
 
        append num 5        给num追加5这个字符串,结果为35
 
 
2.Redis的数据结构之hash(哈希):
 
        hset myhash username jack         #设置一个键值对
 
        hset myhash age 18 
 
        hmset myhash2 username rose age 21 #设置多个键值对
 
        hget myhash username #获取一个键的值
 
        hmget myhash username age #获取多个hash键位的数据
 
        hgetall myhash 获取某个hash的所有键值对
 
        hdel myhash2 username age #删除特定的键值
 
        hgetall myhash2 #获取myhash2的所有键值对
 
        del myhash #删除整个集合
 
        hexists myhash username 判断某个键是否存在
 
 
3.Redis的数据结构之list:
 
        lpush mylist a b c    list左侧添加
 
        rpush mylist a b c  list右侧添加
 
        lrange xxx 0 5     角标0到第5位 查询元素
        lrange xxx 0 -1   0到倒数第一位
 
        lpop mylist    左侧弹出
        rpop mylist    右侧弹出
 
        llen mylist   查询长度
 
        lpushx/rpushx mylist x    头部添加x 没有则不添加
 
        lrem mylist m x    从左删除m个x元素  删除list元素
        lrem mylist -m x    从右删除m个x元素
        lrem mylist 0 x     删除所有x元素
 
        lset mylist 3 mmm     设置(修改)角标元素
 
        linsert mylist before/after  [value] [insertvalue]     某个值之前/之后插入元素 
 
        rpoplpush mylist1 mylist2    将list1最右边的值pop到list2最左边 
 
 
4.Redis的数据结构之Set:
 
与List类型不同,set集合不允许出现重复的元素,Set可包含的最大元素数量是42949672
 
---添加/删除元素
 
        sadd myset a b c 1 2 3
 
        srem myset 1 2  
 
---获得集合中的元素
 
        smembers myset
 
        sismember myset a  (有就显示1,无就显示0)
 
---找出集合中的差集
 
        sadd mya1 a b c
 
        sadd myb1 a c 1 2
 
        sdiff mya1 myb1
 
---找出集合中的交集
 
        sinter
 
---集合中的并集:
 
        sunion
 
---扩展命令:
 
        获取set具体的成员数量  scard myset
 
        随机返回set中的一个成员 srandmember
 
        将两个集合相差的成员存储到其他集合上sdiffstore my1 mya1 myb1
 
        将两个集合的交集存储到其他集合上sinterstore my1 mya1 myb1
 
        将两个集合的并集存储到其他集合上sunionstore my1 mya1 myb1
 
 
5.Redis的数据结构之sorted set:
 
        与set类型很相似比set快,并且成员在集合的位置是有序的。
 
        增加:zadd    zadd mysort    80 zs 90 ls 100 ww    值相同则更新分数
 
        查看分数:zscore    zscore mysort zs
 
        计数:zcard    zcard    mysort
 
        遍历:zrange    zrange mysort 0 -1 按照默认顺序显示值
   
        zrange mysort 0 -1 withscores    显示值和分数
 
        zrevrange mysort 0 -1 withscores    逆序显示值和分数
 
        删除:zrem    zrem mysort ls
 
        zremrangebyrank mysort 0 4 按照范围进行删除
 
        zremrangebyscore mysort 80 90 按照分数范围进行删除
 
        递增:zincrby    zincrby mysort 3 ls    给ls的分数加三
 
 
6.Redis Keys的通用操作:
 
        启动服务:redis-server.exe  --service-start
        客户端调用:redis-cli.exe -h 127.0.0.1 -p 6379
        停止服务:redis-server.exe  --service-stop
        卸载服务:redis-server.exe  --service-uninstall
        exit  退出
 
---Keys的通用操作:
 
        keys *   -查询所有的keys
 
        keys my?    -查询以my开头的keys
 
        del mylist1 mylist2   -删除keys
 
        exists mylist      -判断keys是否存在,存在返回1,不存在返回0
 
        rename company newcompany        -重命名,把company改名为newcompany
 
        expire newcompany 1000         -设置keys的超时时间
 
        ttl newcompany     -查看keys的剩余超时时间
 
        type mylist    -查看keys的类型 
 
        flushall  清空数据库
 
        clear 清空当前窗口命令
 
 
7.Redis的特性:
 
---多数据库:
 
        redis最大支持16个数据库,按0~15的索引排列
 
        默认使用的是0数据库
 
        select 0   选取数据库select 1
 
        move keyName index          将key移动到指定数据库 move mylist 1
 
---使用multi、exec、discard来实现事务:
 
        multi    开启事务(begin)
        --
        redis的一些操作等
        --
        exec   提交(commit)/discard 回滚(rollback)
 
 
事务中,所有命令都会串行执行,事务执行期间,redis不会为其它的客户端提供服务,从而保证命令原子化执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值