Redis使用心得记录

2018-09-13  本文已影响9人  指间砂的宿命

0.通用命令

del key  # 删除key
exists key  # check某个key是否存在
expire key  # 为某个key设置过期时间
flushall  # 清空redis中所有数据

1.string操作命令

set key value  # 设置key,value;如果key已存在,则value会被覆盖
getset key value # 设置key,value: 1.如果当前key已存在,则返回被覆盖前的value 2.当前key不存在,则设置key,value并返回null
setex key seconds value  # 设置key、value,有效期seconds秒;对于已经存在的key也可以执行该操作重置value并赋予expired time
incr key # key对应的value自增,如果key对应value不是整数返回错误,如果key不存在,将value设置为 1
decr key # key对应的value自减,如果key对应value不是整数返回错误, 可以是负数
setnx key value  # 设置key、value,如果key存在则setnx失败,返回 0 (set key value nx等价)
mset key value key value # 批量设置key、value,jedis客户端需要以数组形式传递key,value...
mget key key # 批量获取key的值, jedis客户端返回value1,value2...数组

注redis中字符数据类型:

int:8 个字节的长整型
embstr:小于等于 39 个字节的字符串
raw:大于 39 个字节的字符串

2.hash操作命令

hset key field value  # 设置key对应map中的一对field value
hget key field  # 获取key对应field的value值
hdel key field   # 当key对应的hashmap中fiedl为空时,这个key会被移除
hlen key  # 计算key中field个数,不存在的key,返回0
hkeys key  # 返回key中包含的所有field
hvals key  # 返回key中map的所有value
hexists key field  # 判断key是否存在field属性

3.list操作命令

rpush key [value...]  # 从右边顺序插入
lpush key [value...]  # 从左边顺序插入
lrange key start end  # 从左到右查询list中下标从start到end的元素(包括end),索引下标从左到右是0到N,从右到左是-1到-N,lrange key 0 -1 表示查询所有元素, 并不会从list中删除查询出来的元素
lindex key index  # 获取指定下标的元素
lset key index newValue  # 修改list中指定下标的元素
llen key  # 获取list的长度
lpop key  # 从list左边弹出元素,弹出元素从list中移除
rpop key  # 从list右边弹出元素,弹出元素从list中移除
lrem key count value  #  count<0 从右到左,删除最多count绝对值个等于value的元素;count = 0 删除所有等于value的元素;count>0 从左到右,删除最多count个等于value的元素
blpop [key...] timeout  # 阻塞式的从左边弹出给定key(可以是多个)中的元素
brpop [key...] timeout  # 阻塞式的从右边弹出给定key(可以是多个)中的元素

4.Set操作命令

sadd key [element …]  # 添加元素
srem ket [element …]  #移除元素
scard key  # 计算元素个数,时间复杂度O(1),不会遍历集合所有元素,直接使用Redis内部变量
sismember key element  # 判断元素是否在Set中
srandmember key [count]  # 从Set中随机返回count个元素,不指定count默认返回一个元素,不会移除元素
spop key  # 从Set中随机弹出一个元素,移除弹出的元素
smembers key  # 获取所有元素
sinter [key …]  # 求多个Set的交集
sunion [key …]  # 求多个Set的并集
sdiff [key …]  # 求多个Set的差集,key1和key2的差集结果和key3再取差集以此类推
sinterstore destination [key …]  # 将多个Set的交集保存到destination上
sunionstore destination [key …]  # 将多个Set的并集保存到destination上
sdiffstore destination [key …]  # 将多个Set的差集保存到destination上

5.Redis使用注意

$ vim /etc/security/limits.conf  # 新增如下字段
*       soft    nofile  65535
*       hard    nofile  65535
*       soft    nproc   65535
*       hard    nproc   65535
$ vim /etc/pam.d/login # 新增如下字段
session    required     pam_limits.so
# 重启服务器
上一篇 下一篇

猜你喜欢

热点阅读