1. 启动服务端
- .\redis-server.exe + 配置文件(建议使用) 例:.\redis-server.exe .\redis.6379.conf
- .\redis-server.exe --port 端口 例:.\redis-server.exe --port 6379
2. 启动客户端
- .\redis-cli.exe -h ip地址 -p 端口 -a 密码
3. 关闭服务
连接客户端后执行命令 shutdown
4. 获取配置
config get *
- “dbfilename”
- “dump.rdb”
- “requirepass”
- “”
- “masterauth”
- “”
- “unixsocket”
- “”
- “logfile”
- “”
- “pidfile”
- “/var/run/redis.pid”
- “maxmemory”
- “0”
- “maxmemory-samples”
- “5”
- “timeout”
- “0”
- “tcp-keepalive”
- “0”
- “auto-aof-rewrite-percentage”
- “100”
- “auto-aof-rewrite-min-size”
- “67108864”
- “hash-max-ziplist-entries”
- “512”
- “hash-max-ziplist-value”
- “64”
- “list-max-ziplist-entries”
- “512”
- “list-max-ziplist-value”
- “64”
- “set-max-intset-entries”
- “512”
- “zset-max-ziplist-entries”
- “128”
- “zset-max-ziplist-value”
- “64”
- “hll-sparse-max-bytes”
- “3000”
- “lua-time-limit”
- “5000”
- “slowlog-log-slower-than”
- “1000”
- “latency-monitor-threshold”
- “0”
- “slowlog-max-len”
- “128”
- “port”
- “6379”
- “tcp-backlog”
- “511”
- “databases”
- “16”
- “repl-ping-slave-period”
- “10”
- “repl-timeout”
- “60”
- “repl-backlog-size”
- “1048576”
- “repl-backlog-ttl”
- “3600”
- “maxclients”
- “10000”
- “watchdog-period”
- “0”
- “slave-priority”
- “100”
- “min-slaves-to-write”
- “0”
- “min-slaves-max-lag”
- “10”
- “hz”
- “10”
- “cluster-node-timeout”
- “15000”
- “cluster-migration-barrier”
- “1”
- “cluster-slave-validity-factor”
- “10”
- “repl-diskless-sync-delay”
- “5”
- “cluster-require-full-coverage”
- “yes”
- “no-appendfsync-on-rewrite”
- “no”
- “slave-serve-stale-data”
- “yes”
- “slave-read-only”
- “yes”
- “stop-writes-on-bgsave-error”
- “yes”
- “daemonize”
- “no”
- “rdbcompression”
- “yes”
- “rdbchecksum”
- “yes”
- “activerehashing”
- “yes”
- “repl-disable-tcp-nodelay”
- “no”
- “repl-diskless-sync”
- “no”
- “aof-rewrite-incremental-fsync”
- “yes”
- “aof-load-truncated”
- “yes”
- “appendonly”
- “no”
- “dir”
- “D:\Program Files\Redis-x64-3.0.504”
- “maxmemory-policy”
- “noeviction”
- “appendfsync”
- “everysec”
- “save”
- “jd 900 jd 300 jd 60”
- “loglevel”
- “notice”
- “client-output-buffer-limit”
- “normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60”
- “unixsocketperm”
- “0”
- “slaveof”
- “”
- “notify-keyspace-events”
- “”
- “bind”
- “”
5. 设置配置属性
config set 键(上面命令获取的奇数) 值(上面命令获取的奇数下的偶数) 例:config set requirepass 1
注意 :
-
如果是设置密码,则要从新登陆,命令
AUTH 新密码
例:AUTH 1 -
设置完密码如果想要使修改的配置持久化则需要执行
CONFIG REWRITE
6. 全局命令
-
查询所有主键:
keys * 、
-
数据个数
dbsize
-
清理数据
flushdb[清理当前库中的数据]、flushall[清理所有库中的数据] -
检查键是否存在
exists key 返回1[存在],0[不存在]
-
删除主键
del key 返回1[已删除个数],0[没有删除的数据] -
设置过期时间
EXPIRE key senconds 返回1[成功],0[失败] -
查看剩余过期时间
ttl key 返回-2则没该键 -
键的数据结构类型
type key 返回正常的类型,没有键则返回none
- 切换数据库
select 库编号
7. 字符串常用操作
实际上可以是字符串(包括XML JSON),还有数字(整形浮点数),二进制(图片音频视频),最大不能超过512MB
-
设置值
-
set key value–不管有没有key都设置, 示例:set name lili 返回ok
-
setnx key value–不存在key才设置 ,示例:setnx name lili 返回0,setnx age 12 返回1
-
SETEX key seconds value --设置键值及过期时间,示例: setex age 60 90 返回ok
-
set key value ex seconds --设置键值及过期时间, 示例:set age 90 ex 60 返回ok
-
mset key1 value1 key2 value2 …… --批量设置key和值,示例 :mset name zhangsan age 16 sex male ,返回ok·
-
-
获取值
-
get key --获取值
-
mget key1 key2 --批量获取值 ,示例:mget name age sex,没有返回 1) (nil) ,存在返回
- “hangsan”
- “16”
- “male”
-
-
查看编码
object encoding key ,返回"int"[^长度小于20的短数字] 、“embstr”[小于等于39个字符]或者"raw"[大于39个字符]
-
增减
incr key --加一 返回增加后的最新值
incrby key increment --增加自定的数值 ,返回增加后的最新值
decr key --减一
decrby key increment --减去自定的数值
INCRBYFLOAT key increment --浮点数增加
- 追加
append key value --在原有的值后追加字符串,返回追加后的字符串长度
- 字符串长度
STRLEN key
8. Hash常用操作
是一个string 类型的field 和value 的映射表,hash 特适合用于存储对象
-
设置值
-
HSET key field value–设置hash 值, 示例:hset user:1 name zhangsan 返回1
-
HMSET key field value [field value …] --批量设置hash值,示例 :hmset user:1 name zhangsan age 12 ,返回ok
-
-
获取值
-
HGET key field --获取值
-
HMGET key field [field …] --批量获取值 ,示例:mget name age sex,没有返回 1) (nil) ,存在返回
- “zhangsan”
- “12”
-
-
删除filed
HDEL key field [field …] ,示例:HDEL user:1 name 返回1
-
查看编码
object encoding key ,返回"ziplist"[^压缩列表:当field少且没有大value] 、“hashtable”[^哈希表:value大于64]
-
增加
hincrby key field increment --增加自定的数值 ,返回增加后的最新值
HINCRBYFLOAT key field increment --浮点数增加
- 长度(有几个field)
HLEN key
- 是否存在field
hexists key field
9. List常用操作
用来存储多个有序的字符串,一个列表最多可存2 的32 次方减1 个元素
-
设置值
-
LPUSH key value [value …] --从左向右插入 ,e.g.:lpush country china england amareican ,返回元素个数
-
RPUSH key value [value …] --从有向左插入,e.g.:RPUSH color red blue green
-
LINSERT key BEFORE|AFTER pivot value --插入,e.g.:LINSERT country before china india
-
-
获取值
- LRANGE key start stop --获取值 ,e.g.: LRANGE country 0 -1 ,返回:
- “amareican”
- “england”
- “india”
- “china”
- LINDEX key index --通过索引获取值,e.g.: LINDEX country 0,返回"amareican"
-
删除值
- LPOP key --从左到右删除一个,e.g.:LPOP country,返回"amareican"
- RPOP KEY --从头删除一个,e.g.:RPOP country,返回"china"
- LREM key count value --从头删除几个,e.g.:lrem country 2 india,返回2(里面有两个india)
- LTRIM key start stop --从头保留几个,e.g.: LTRIM country 0 1,返回OK,只保留第1和2个
-
长度
- llen key --获取元素个数,e.g.:llen country,返回2
-
修改
- LSET key index value --修改索引处的值为value,e.g.:LSET country 0 england,返回OK
10. Set
保存多元素,与列表不一样的是不允许有重复元素,且集合是无序,一个集合最多
可存2 的32 次方减1 个元素,除了支持增删改查,还支持集合交集、并集、差集;
-
设值
- SADD key member [member …]–添加集合,e.g.:SADD color red blud green red,返回3
-
取值
-
SMEMBERS key --取值,e.g.:SMEMBERS color,返回:
- “green”
- “blud”
- “red”
-
SRANDMEMBER key [count] --随机返回几个值,e.g.:SRANDMEMBER color 1,随机返回1) “blud”
-
-
删除
- SREM key member [member …] --删除,e.g.:SREM color red 返回1;
- SPOP key --随机返回一个成员并删除,e.g.:SPOP color,返回"green";
-
统计
SCARD key --获取集合个数,e.g.:SCARD color,返回2;
- 判断集合是否存在某值
SISMEMBER key member --判定给定的值是否存在集合中,e.g.:SISMEMBER color blud ,返回1或者0;
- 交集
SINTER key [key …] --多个集合交集(共有的集合),e.g.: SINTER color color1,返回red;
SINTERSTORE destination key [key …] --区交集并存储到目的地,e.g.:SINTERSTORE color_jj color color1,返回1
查询 SMEMBERS color_jj,返回结果和上方结果一致
- 并集
SUNION key [key …] --并集(合起来去重复),e.g.:SUNION color color1,返回:
- “blud”
- “red”
- “white”
- “organ”
- “green”
SUNIONSTORE destination key [key …] --获取并集并存储,e.g.:SUNIONSTORE color_bj color color1
查询SMEMBERS color_bj,返回结果和上方结果一致
- 差集
SDIFF key [key …] --差集(集合相互没有),e.g.: SDIFF color color1,返回:
- “green”
- “blud”
SDIFFSTORE destination key [key …] --获取差集并存储,e.g.:SDIFFSTORE color_cj color color1,返回2,
查询查询SMEMBERS color_cj,返回结果和上方结果一致
11. sorted_set(有序集合)
常用于排行榜,如视频网站需要对用户上传视频做排行榜,或点赞数
List\SET\SORTED_SET的区别
- 设值
ZADD key [XX] score member [score member …] --设值值,e.g.:ZADD vote 100 zhangsan 60 lisi 80 wangwu 1 zhaoliu,返回:(integer) 4;
XX: 仅仅更新存在的成员,不添加新成员
NX: 不更新存在的成员。只添加新成员。
INCR: 成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作
CH:修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意思)。更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分数将不被计算在内。注:在通常情况下,ZADD
返回值只计算新添加成员的数量。
-
取值
- ZRANGE key start stop [WITHSCORES] --返回成员【带分数的】,e.g.:zrange vote 0 -1 withscores,返回
- “zhaoliu”
- “1”
- “zhangsan”
- “3”
- “lisi”
- “60”
- “wangwu”
- “80”
- “zhangsan2”
- “100”
- “zhangsan\”
- “100”
-
ZSCORE key member --获取成员的分数,e.g.:ZSCORE vote zhangsan,返回:“3”
-
ZREVRANGE key start stop [WITHSCORES] --倒叙返回成员【带分数】,e.g.:ZREVRANGE vote 0 -1 withscores,返回:
- “zhangsan\”
- “100”
- “zhangsan2”
- “100”
- “wangwu”
- “80”
- “lisi”
- “60”
- “zhaoliu”
- “1”
-
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] --查询给定范围的成员,+inf标识无限大,-inf标识无限小,e.g.: ZRANGEBYSCORE vote 1 80 withscores,返回:
- “zhaoliu”
- “1”
- “lisi”
- “60”
- “wangwu”
- “80”
-
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] --反向
-
获取成员数
ZCARD key --获取成员数,e.g.:ZCARD vote,返回:(integer) 6;
ZCOUNT key min max --统计给定范围的成员数;e.g.: zcount vote 1 60,返回(integer) 2;
- 排名
ZRANK key member --查看成员的名次(从0开始计算),从小到大;e.g.:ZRANK vote zhangsan, 返回:(integer) 1;
ZREVRANK key member --反向返回名次,从大到小;e.g.:ZREVRANK vote zhangsan,返回(integer) 4;
-
删除
ZREM key member [member …] --删除成员;e.g.: ZREM vote zhangsan,返回(integer) 1;
ZREMRANGEBYRANK key start stop --按照顺序删除指定范围的;eg:ZREMRANGEBYRANK vote 0 0,返回(integer) 1
ZREMRANGEBYSCORE key min max --删除给定分数范围的成员;e.g.: ZREMRANGEBYSCORE vote 0 60,返回(integer) 1
- 增减分数
ZINCRBY key increment member – 给成员增(减)加分数,负数为减;e.g.:ZINCRBY vote 10 wangwu,返回"90";
- 交集
ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] --求交集,默认是分数相加,eg::ZINTERSTORE votenew 2 vote vote1 weights 2 4 aggregate max;返回(integer) 3
- 并集
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] --求并集,
eg.与交集用法一致;