redis的笔记

创建目录 mkdir -p /myredis
备份redis.conf文件:
cp redis.conf /myredis/redis.conf
进入myredis目录,修改redis.conf文件
vim redis.conf

把daemonize no 改成 daemonize yes
保存退出
cd /usr/local/bin/
redis-server /myredis/redis.conf
redis-cli -p 6379

关闭redis:
SHUTDOWN

查看redis有没有启动:
ps -ef|grep redis

redis默认有16个数据库,select 命令切换数据库 ,select 0|1|3|...|16
flushdb:清空当前库
flushall:清空所有库
redis的五大数据类型:
Redis键(key)
Redis字符串(String)
Redis列表(List)
Redis集合(Set)
Redis哈希(Hash)
Redis有序集合Zset(sorted set)
常用命令:
key:
keys *
exists key的名字 判断某个key是否存在
move key db 把key移动到其他db,当前库就没有了
expire key 秒钟 给key设置过期时间
ttl key 查看key还有多少秒过期,-1表示永不过期,-2表示已过期
type key 查看keyd的
String:
set/get/del/append/strlen
incr/decr/incrby/decrby 一定要是数字才能进行加减
incr :自加1
decr :自减1
incrby n :递增 n
decrby n :递减 n
getrange/setrange
setex(set with expire)键秒值/setnx(set if not exist)
setex :设置过期时间
setnx key : 当key不存在时间生效,避免数据被覆盖
mset/mget/msetnx
mset k1 v1 k2 v2 k3 v3
mget k1 k2 k3
msetnx k3 v3 k4 v4(如果k3,k4有一个已存在,则返回失败,不会设置成功 )
getset(先get再set)

List:
lpush/rpush/lrange
lpush list01 1 2 3 4 5
lrange list01 0 -1 # 5 4 3 2 1
rpush list02 1 2 3 4 5
lrange list02 0 -1 # 1 2 3 4 5
lpop/rpop: 取一个数据
lindex : 按照索引下标获得元素(从上到下)
llen:
lrem key: 删N个value
ltrim key:开始index结束index,截取指定范围的值后,重新赋值给key
rpoplpush 源列表 目的列表 :
lset key index value:
linsert key before/after 值1 值2 :

Set:
sadd/smembers/sismember
scard :获取集合里的元素个数
srem key value :删除集合中的元素
srandmember key 某个整数(随机出几个数)
spop key 随机出栈
smove key1 key2 在key1里的某个值 :将key1里的某个值赋给key2
sdiff key1 key2 :差集 ,在key1里面,而不在key2里的数据
sinter key1 key2 :交集
sunion key1 key2 :并集

哈希Hash: KV模式不变,但V是一个键值对
hset/hget/hmset/hmget/hgetall/hdel
hset user name z3
hget user name
hmset customer id 12 name xx age 25
hmget customer id name age
hgetall customer
hdel user name :删除key为user下的name的值
hlen
hexists key 在key里面的某个值的key
hkeys/hvals :获取key下的所有key/value
hincrby/hincrbyfloat
hincrby customer age 2 #给age的值加2
hincrbyfloat customer age 0.5 #给age的值加0.5
hsetnx: 当value中的key值不存在,才能添加成功
有序集合Zset:
在set基础上,加一个score值,set是k1 v1 v2 v3, 而zset是k1 score1 v1 score2 v2
zadd/zrange
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1
zrange zset01 0 -1 withscores
zrangebyscore key 开始scroe 结束scroe
zrangebyscore zset01 60 90
zrangebyscore zset01 60 (90 #(90表示不包含90
zrangebyscore zset01 (60 (90 #不包含60和90
zrangebyscore zset01 60 90 limit 2 2 #结果集中从下标为2开始截取2个
zrem key 某score下对应的value值,作用是删除元素
zrem zset01 v5 #删除v5
zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key对应值,获得分数
zcard zset01 #zset01下有多少个value
zcount zset01 60 80 #scroe60到80的值有多少个
zrank zset01 v4 #获取v4的下标
zscore zset01 v4 #获取v4对应的scroe值
zrevrank key values值,作用是逆序获得下标值
zrevrank zset01 v4
zrevrange
zrevrange zset01 0 -1 #逆序
zrevrangebyscore key score区间
zrevrangebyscore zset01 90 60 #逆序

原文地址:https://www.cnblogs.com/samRoot/p/14017829.html