redis相关知识

1、单线程加多路IO复用

1,2,3在没有买票等待的过程中可以去处理其他事情。

2、五大数据类型

字符串 String        列表 List        集合 et       哈希 Hash        有序集合 Zset

启动命令:redis-server /etc/redis.conf        redis-cli

查看当前库的所有 key: keys *

添加 key : set k1 mary

判断 k 是否存在: exists k1 ,输出 1 即为存在

查看key类型:type k1  输出 string

删除key: del k3, unlink k3

设置key的过期时间: expire k1 10 (10s 后过期) ttl k1(查看剩余过期时间)

切换数据库: select 10

查看当前数据库的key数量:dbsize

清空当前库:flushdb

通杀全部库: flushall

字符串 (String)

String 是 Redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。

String 类型是二进制安全的。意味着 Redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。

String 类型是 Redis 最基本的数据类型,一个 Redis 中字符串 value 最多可以是 512M。

设置值:set k1 v100

取值:get k1

追加值:append k1 abc

得到长度:strlen k1

当key不存在时,才能设置:setnx k3 v300

对数值加一和减一操作:set k4 500        incr k4       decr k4

对数据加 减step:    incrby k4 10     decrby k4 20

同时设置多个key值:mset k1 v1 k2 v2 k3 v3

同时得到多个key值:mget k1 k2 k3

当所以key值多不存在时,才能设置成功:msetnx k4 v4 k5 v5

取范围 getrange:127.0.0.1:6379> set name luckmary
                                OK
                               127.0.0.1:6379> getrange name 0 3

设置范围覆盖 setrange:127.0.0.1:6379> setrange name 3 abc
                                                                (integer) 8
                                                                127.0.0.1:6379> get name
                                                                "lucabcry"

设置过期时间:setex age 20 value30

取新值,换旧值:127.0.0.1:6379> getset name jack
                                "lucabcry"
                              127.0.0.1:6379> get name
                                 "jack"

列表(List)

从左往右插入值:lpush k1 v1 v2 v3
                                (integer) 3
                                127.0.0.1:6379> get k1
从左往右显示值:127.0.0.1:6379> lrange k1 0 -1
                                1) "v3"
                                2) "v2"
                                3) "v1"
从右往左插入值:127.0.0.1:6379> rpush k2 v1 v2 v3
从左往右显示值:127.0.0.1:6379> lrange k2 0 -1
                                1) "v1"
                                2) "v2"
                                3) "v3"
从左取出值:       127.0.0.1:6379> lpop k1
                                "v3"
从右取出值:        127.0.0.1:6379> rpop k2
                                "v3"
值在健在,值光键亡

将 K1的右值取出放在k2左边 

127.0.0.1:6379> lpush k1 v1 v2 v3
127.0.0.1:6379> rpush k2 v11 v12 v13
127.0.0.1:6379> rpoplpush k1 k2
"v1"
127.0.0.1:6379> lrange k2 0 -1
1) "v1"
2) "v11"
3) "v12"
4) "v13"

取出指定索引的值
127.0.0.1:6379> lindex k2 0
"v1"
127.0.0.1:6379> lindex k2 2
"v12"

查看列表长度
127.0.0.1:6379> llen k2
(integer) 4
在旧值之前插入新值 
127.0.0.1:6379> linsert k2 before "v11" "newv11"
(integer) 5
127.0.0.1:6379> lrange k2 0 -1
1) "v1"
2) "newv11"
3) "v11"
4) "v12"
5) "v13"
从左边删除n个value(从左到右)

127.0.0.1:6379> linsert k2 before "v12" "newv11"
(integer) 6
127.0.0.1:6379> lrem k2 2 newv11
127.0.0.1:6379> lrange k2 0 -1
1) "v1"
2) "v11"
3) "v12"
4) "v13"

将列表key 下标为index的值替换成value
127.0.0.1:6379> lset k2 1 haha
OK
127.0.0.1:6379> lrange k2 0 -1
1) "v1"
2) "haha"
3) "v12"
4) "v13"
 

集合(Set)
添加值
127.0.0.1:6379> sadd k1 v1 v2 v3
(integer) 3
查看值
127.0.0.1:6379> smembers k1
1) "v3"
2) "v1"
3) "v2"
查看是否有对应的值,存在返回1
127.0.0.1:6379> sismember k1 v1
(integer) 1
查看一共有几个值
127.0.0.1:6379> scard k1
(integer) 3

删除集合中的元素
127.0.0.1:6379> srem k1 v1 v2
(integer) 2

随机从集合中吐出元素值 spop
127.0.0.1:6379> sadd k2 v1 v2 v3 v4
(integer) 4
127.0.0.1:6379> spop k2
"v2"
127.0.0.1:6379> spop k2
"v4"

随机吐出,不会删除元素 srandmember
127.0.0.1:6379> srandmember k2 2
1) "v3"
2) "v1"

把集合中的一个元素移动到另一个集合 smove
127.0.0.1:6379> sadd k1 v1 v2 v3
(integer) 3
127.0.0.1:6379> sadd k2 v2 v3 v4 v5
(integer) 4
127.0.0.1:6379> smove k1 k2 v3
(integer) 1
127.0.0.1:6379> smembers k1
1) "v1"
2) "v2"
127.0.0.1:6379> smembers k2
1) "v5"
2) "v3"
3) "v4"
4) "v2"

返回两个集合的交集
127.0.0.1:6379> sinter k1 k2
1) "v2"

返回两个集合的并集
127.0.0.1:6379> sunion k1 k2
1) "v5"
2) "v3"
3) "v1"
4) "v2"
5) "v4"

返回两个集合中的差集,k1中存在,k2中不存在
127.0.0.1:6379> sdiff k1 k2
1) "v1"

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值