######string类型  注意:一个键最大存储512M  key存在,同名会产生覆盖
#SET key value
#GET key  注意:不存在 返回nil

语法:SET key value [EX seconds] [Px milliseconds][NX|xX]
EX seconds:设置键的key的过期时间SET key value EX seconds -- SETEX
例如:SET test16 'this a value' EX 100 //过期100秒
PX milliseconds:以毫秒的形式设置过期时间SET key value PX milliseconds--pSETEX
NX:只有键不存在的时候才可以设置成功SET key value NX--SETNX
XX:只有key已经存在的时候才可以设置
例如:SET test19 'this is a test19’EX 100 NX  //只有test19不存在的时候才能设置成功过期100秒


##截取部分
#GETRANGE key start end[-1全部,-2截取到倒数2] 返回字符串一部分
##替换部分
#SETRANGE key offset value  设置成功返回字符串的长度
例如:SETRANGE test 3 223 从test第二个 替换为223 (字符串不存在 以零字节\×00来填充)
#GETSET key value 设置新值,返回旧的值  注意:不存在 返回nil

#INCR key 数字自动+1 注意:key不存在则会初始化为0
INCRBY INCREMENT 例如:INCRBY key 3//每次递增3
INCRBYFLOAT key  1.2  浮点的。
#DECR  数字自动-1
DECRBY 例如:DECRBY key 3//每次递减3

#EXISTS  判断key是否存在 存在返回1 不存在返回0

#MSET key value [key value...]一次设置多个
#MGET key [key...]一次获取多个 注意:不存在 返回nil

#STRLEN key 获取字符串的长度

#SETNX 只有key不存在的时候才能设置成功,存在的话 设置返回0
SETNX key value
#SETEX 设置过期时间 单位秒
SETEX key time(秒) value 例如:setex testtime 30 'abc'   过期返回-2 或者 nil
等价于:
SET testtime 'abc'
EXPIRE testtime 10 秒
TTL testtime 查看过期剩余时间

#MSETNX key value[ key value] 设置多个不存在的key 只有所有的key都不存在才成功

#PSETEX key milliseconds(毫秒) value 以毫秒为单位设置key的生命周期
#PTTL查看过期时间 返回毫秒

#APPEND 末尾追加新值 append key value,不存在的key则相当于set操作
注意:追加成功返回字符串的长度


######Hash类型
在配置文件中可以通过配置
hash-max-ziplist-entries 512 512字节
hash-max-ziplist-value 64 字段教目
1.HSET:将哈希表可以中的域field设置指定的value
HSET key field value
注意:如果key field存在 (相当于重新赋值)返回0,否则返回1
HSET userinfo names 'king'
HSET userinfo pass '123456'
HSET userinfo email '123456@qq.com'

2.HGET 获取field的值
HGET key field

HEGT userinfo names key field不存在返回nil

3.HSETNX 只有field不存在的时候才能设置成功 返回1 ,如果存在,操作无效 返回0
HSETNX
HSETNX testaa(不存在) test   'a'

4.HMSET 设置多个field-value
HMSET key field value field value...
HMSET userinfo2 username 'king'  password '223345' email 'fsdf@qq.com'
注意存在则替换掉。

5.HMGET 一次获取key中的多个field
HMGET userinfo2 username password email aa//field不存在 返回nil

6.HGETALL 返回hash表所有key field的值
HGETALL key
HGETALL userinfo2

7.HKEYS 返回hash中key的所有的field
HKEYS key 相当于php的数组的键名

8.HVALS 返回hash找那个key中field所有的对应的值
HAVALS key 相当于php的数组的键名的值

9.HEXISTS 检测hash中key的field是否存在
HEXISTS userinfo username 不存在返回0,存在返回1

10.HLEN 返回hash表key中field的数量
HLEN key
HLEN userinfo

11. HINCRBY   hash表中key的field 做增量
HINCRBY key field increment
HSET userinfo age 12
HINCRBY userinfo age 10 增量为10  ===age:22

12.HINCRBYFLOAT hash表中key的field 做增量浮点 可以为负值
HINCRBYFLOAT key field increment

13.HDEL 删除hash key中field 一个或多个
HDEL key field field 返回删除的数量



###List类型
1.LPUSH 向列表左端添加元素
语法:lpush key value value...  返回列表的长度

2.RPUSH 向列表右端添加元素

3.LPUSHX 向列表头部添加元素 ,只有key存在再来添加
lpushx key value value...

4.RPUSHX 向列表头部添加元素 ,只有key存在再来添加

5.LPOP 将列表头部的元素弹出 并返回弹出的值
6.RPOP 将列表底部的元素弹出 并返回弹出的值
rpop key
7.LLEN 列表的长度
llen key


8.LRANGE  key 0 -1 获取列表片段
9.LREM 删除列表中指定的值
lrem key count value
count值有以下几种
count大于0 从列表的头开始,向尾部搜索,移除与value相等的元素,移除count个
count小于0 从列表的尾部开始,向头部搜索,移除与value相等的元素,移除count个
count=0 移除列表中所有与count相等的值

10.LINDEX 获得指定索引元素的值

lindex key index index可以是负数  从后开始数

11.LSET 设置指定索引元素的值

语法:lset key index value

12.LTRIM 只保留列表的片段 其他删除
语法 ltrim key start stop

13.Linsert 向列表插入元素
语法 linsert key before|after  value

14.RPOPLPUSH 将元素从一个列表转到另外一个列表
RPOPLPUSH list1 list2 === list1最后一个值转到list2

15.BLPOP 是lpop的阻塞版本
语法 blpop key key2  timeout



###Set集合类型:无序集合
1.SADD key value
SADD key value value 返回添加成功的个数 失败0  重复的值不添加
2.SMEMBERS 返回指定集合中的元素
smembers key
3.sismember 检测值是否集合中的成员 成功1 失败返回0
SISEEMBER key  value
4.SREM 删除集合中的一个或多个成员
srem key value
srem web value value...多个

5.spop 删除并返回集合中随机元素

spop key
6.SRANDMEMBER 随机返回集合中的元素
srandmember key count    count随机几个元素 大于集合元素的个数 返回整个集合
count 为负数  返回数组可能出现重复  长度是count的绝对值

7.sdiff 返回集合间的差集
sdiff key1 key2  返回key1不在key2的集合值
key1:a b c d
key2: b c d e
返回:a

8.sinter 返回集合间的交集
sinter key1 key2  返回的是交集 bcd

9.sunion 集合间的并集 删除相同的value 返回 abcde

10. scard 返回集合中元素的个数
scard key

11.sdiffstore 将差集结果保存到指定集合中
sdiffstore destination(key) key key...

12.sinterstore  将交集的结果保存到指定集合中。
13.sunionstore 将并集的结果保存到指定集合中。
14.smove 将集合中的元素移动到另外一个集合中。
smove source destination member

smove key1  key3 value  将key1的 value移动到key3


###Zset 有序集合类型
1.zadd 将元素添加到集合中
语法:zadd key score member【score member】
zadd key 80 test2

zadd key +inf maxInt -inf minInx

2.zscore获取指定元素的分数
zscore key  test2

3.zrange 按照元素分数从小到大的顺序返回指定索引start到stop之间的所有元素(包含2端)
语法:zrange key start stop【WITHSCORES】WITHSCORES带分数

4.zrevrange 于zrange相反 按照分数从大到小的顺序
语法:zrevrange key start sotp 【withscores】

5.zrangebyscore 获得指定分数范围内的元素 从小到大顺序,返回时分数在指定min到max的元素
zrangebyscore key min max 【withscores】【limit offset count】注意通过(代表不包端点
zrangebyscore key 90+inf withscores 大于90包括90 limit 0 3 前三个元素

6.zrevrangebyscore  获得指定分数范围内的元素 从大到小返回 min和max之间的元素

7.zincrby 单独操作分数 返回操作后的分数
zincrby key 5 test16 +5分  5也可以是负数

8.zcard获取集合中元素的个数
zcard key

9.zount获得指定分数内的元素的数量
语法:zcount key min max
zcount key 80 90 // 统计80-90的个数
zcount key 80 +inf//统计大于等于80的个数
zcount key (80 +inf//统计大于80的个数  不包括80

10.zrem 删除一个或者多个元素 返回删除元素的个数
zrem key 元素....

11.zremrangebyrank 按照排名范围删除元素,按照分数从小到大顺序删除所指定的排名范围内的元素
zremrangebyrank key start stop

12.zremrangebyscore安装分数范围删除元素
zremrangebyscore key 3 7

13.zrank key member  获取指定元素的排名 名次,从小到大的顺序

14. zrevrank 获取指定元素的排名 名次,  从大到小的顺序

15.zinterstore 计算有序集合的交集,并将结果保存起来
zinterstore destination numkeys 【weights weight weight...】【aggregate sum|min|max】

16.zunionstore destination numkey key key... 【weights weight weight...】【aggregate sum|min|max】


redis中的事务
1.开启事务
MULTI
incr counter1
incr counter2
incr counter3
ping
get counter1

2.EXEC 执行事务的命令
3.WATCH 监视一个或多个key,如果在执行事务之前 这个key被其他命令改动了,事务就被打断了。
UNWATCH取消对key的监视

4.DISCARD 取消事务,同时取消对所有key的监视


生命时间
expire expireat
pexpire pexpireat
persist 返回-1 永久不过期
ttl
pttl


EXPIRE 将key的生存时间设置为ttl秒(多少秒后过期)
PEXPIRE 将key的生成时间设置为ttl毫秒(多少毫秒后过期)
EXPIREAT 将key的过期时间设置为timestamp所代表的的秒数的时间戳(到具体的时间过期)
PEXPIREAT 将key的过期时间设置为timestamp所代表的的毫秒数的时间戳(到具体的时间过期)







1.KEYS pattern
* 任意字符 keys *   |  keys *o*  | keys t?? t开头的2个字符串  |  keys ?o*  |  keys c[n-z]* c开头的接着n-z的任意字符
?匹配一个任意字符 keys
[] 匹配【】之间的一个字符
\x匹配特殊字符\? \*

2.EXISTS key 是否存在

3.TYPE
TYPE key  返回类型  字符串还是hash set zset list, 不存在的key返回none

4.EXPIRE 设置key的过期时间
EXPIRE key seconds 成功返回1 失败返回0
SET cachepage 'http://www.baidu.cn/'
EXPIRE cachepage 100
TTL cachepage

5.EXPIREAT:  时间戳过期
EXPIRE key timestamp
SET cachetime 'tesmpstr'
EXPIREAT cachetime  1431525623
TTL cachetime

6.PEXPIRE:
PEXPIRE key 毫秒
PTTL查看过期

7.PEXPIREAT: 时间戳,单位毫秒

8.TTL 秒单位返回key剩余时间,key没有设置过期时间 返回的是-1,key不存在返回的-2
9.PTTL 毫秒返回key剩余时间

10.PERSIST 将一个带有过期时间的key变成永久
PERSIST key

11.DEL key...删除指定的key
可以删除多个key
DEL cachetime cachetimes...

12.RANDOMKEY 随机返回一个key

13.RENAME 重名一个键
RENAME key newkey

14.RENAMENX 重命名的新名称不存在才会生效

15.DUMP 序列化给定的key,返回序列化之后的值
dump key

16.RESTORE 反序列化
RESTORE key tt1(过期时间毫秒,0不过期) value

17. MOVE 将当前数据库中的key移动到另外的数据库中
语法 MOVE key dbid
SELECT 0 数据库0

18.flushdb 清空
flushdb 清空当前数据库
flushall 清空所有的数据库
事务
multi 标记事务的开始
exec 提交事务
discard 回滚
quit 退出连接
dbsize key的个数
info 服务器信息


getset key value 先得到,后更改
incr key 指定key的value的值递增,如果不存在就初始化为零;如果value值不是int 则执行失败
incrby key value 添加任意值
decr key 相反
decrby key value 相反
append key value 拼凑字符串

$redis->persist('key');//移除失效时间[ 1 | 0]

$redis->sort('key',[$array]);//返回或保存给定列表、集合、有序集合key中经过排序的元素,$array为参数limit等!【配合$array很强大】 [array|false]


https://www.bilibili.com/video/BV1hE411e7k4?p=5&spm_id_from=pageDriver

redis.zip








发表评论 已发布 0

还可以输入 800 个字
 
 
打印