redis命令行


1.string字符操作

增: set keyName strValue
例子:set name "Guddqs"tips:字符串要不要加双引号,我也不知道

删: del keyName
例子: del nametips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0

改: set keyName newValue
例子:set name "WQ 利用赋值命令直接覆盖原值,同理以后也有很多相似之处!

查: get keyName
例子 get nametips: 注意区分大小写!

除此之外,还有一些其他的
strlen name 用于获取字符长度
get range name 1 5 用户截取字符后显示

2.Hash操作(对应java的Map)

增: hset keyName mapkey1 mapval1 [mapkey2 mapval2 mapkey3 mapval3]
例子:hmset me name "Guddqs" age 20 sex "Male"tips:说白了就是一对一对的排好添加

删: hdel keyName mapkey
例子: hdel me sextips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
当然,如何删除整个map呢? 很简单:del keyName ; 如 del me

改: hmset keyName mapkey1 mapnewval mapkey2 mapnewval2
例子: hmset me name "WQ" age 25 利用赋值命令直接覆盖原值,同理以后也有很多相似之处!

查: hgetall keyName
例子 hgetall metips: 注意区分大小写!
当然还有 hmget me name 用以获取key为me的map集合中key为name的值!

除此之外,还有一些其他的
hvals me
hkeys me
hmget me name sex (用于查看多个mapkey的值)

3.List操作(对应java的ArrayList)

增: lpush keyName listVal
例子:lpush list "java"tips:似乎加不加双引号最后显示都带双引号

删: lrem keyName removeCount listVal
例子: lrem list 1 javatips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
当然,如何删除整个list呢? 很简单:del keyName ; 如 del list

改: lset keyName index value
例子: lset list 0 python 将key为list的集合中索引为0的值修改为 python

查: lrange keyName start stop
例子 lrange list 0 10tips: 尾数可以超过集合长度
当然还有 lindex list 0 用以获取key为list索引为0的值

除此之外,还有一些其他的
llen list 获取集合长度 ,
lpop list 删除集合头部元素
ltrim list 2 5 (将集合修剪到剩下 下标2到5 的元素
linsert list before c java 在c前加一个java,before可以改为after

4.Set操作(对应java的set)

增: sadd keyName setVal
例子:sadd ids 1tips:似乎加不加双引号最后显示都带双引号
同时也可以添加多个sadd ids 1 2 3 4 5

删: srem keyName setVal
例子: srem ids 3tips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
当然,如何删除整个set呢? 很简单:del keyName ; 如 del ids

改: (尴尬,这里好像没啥可改,或者说无法更改,只能删除重新添加了)
例子: srem ids 3 sadd ids 6 比如原来有个3 后来改成6……

查: smembers keyName
例子 smembers ids 简单不?

除此之外,还有一些其他的
scard 获取set集合长度 ,
spop ids 移除并返回一个随机的元素
sdiff ids1 ids2 求ids1和ids2的差集
sinter ids1 ids2 求ids1 和ids2的交集
sunion ids1 ids2 求ids1 和ids2的并集

5.Sorted Set操作(类似java的LinkededHashSet或TreeSet)

增: zadd keyName score member1
例子:zadd ids 0 1tips: 其中0是分数 , 1是加入的值
同时也可以添加多个zadd ids 0 1 0 2 0 3 0 4 加入了分数为0 的1234

删: zrem keyName member1 [member2] 同时删除多个或单个!
例子: zrem ids 1 2tips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
当然,如何删除整个zset呢? 很简单:del keyName ; 如 del ids
其他删除:zremrangebyscore ids 0 10 删除指定分数区间的元素
zremrangebyrank ids 0 2 删除指定索引区间的元素

改: (尴尬,这里好像没啥可改,或者说无法更改,只能删除重新添加了)
例子: zrem ids 3 zadd ids 0 6 比如原来有个3 后来改成6……

查: zrange keyName start stop [withsocres]
例子 zrange ids 0 10 0 列出所有分数为0的索引由0到10的在ids里的值,可以不加分数0这个参数,级返回所有分数
zrangebyscore ids 0 2

除此之外,还有一些其他的
zcard 获取set集合长度 ,
zscore ids 4 获取ids中4的分数
zrank ids 4 获取ids中4的索引

6.Redis HyperLogLog 命令(摘自菜鸟教程,在此感谢)

下表列出了 redis HyperLogLog 的基本命令:

1 PFADD key element [element …]
添加指定元素到 HyperLogLog 中。
2 PFCOUNT key [key …]
返回给定 HyperLogLog 的基数估算值。
3 PFMERGE destkey sourcekey [sourcekey …]
将多个 HyperLogLog 合并为一个 HyperLogLog

本学习笔记乃是看着菜鸟教程之redis 教程一边看,一边记录的!整个过程中,常用的命令我是绝对不会复制粘贴的,就这么短的命令,如果都要复制粘贴, 那如何加深记忆? 如何锻炼自学能力? 建议大家对于这种命令采取技巧式的记忆: 即不完全的记住所有命令的具体内容,而是记住开头,记住这个命令能做什么! 如果学习后一段时间没有使用 ,导致生疏,完全可以根据开头去百度(建议Google)一查,或者找个手册,看一遍就找回记忆! 对于经常使用的命令(包括知识也是类似),不需要特意花时间去记忆, 既然是常用的, 用着用着自然是会记住的(除非你根本没有常用)! 再次感谢菜鸟教程提供的图文教程!个人认为对于完全不懂的知识(这个知识又很庞大),找图文的确不好找到一个好的教程,当然一些相关书籍还是不错的(但是书籍也是复杂枯燥啊),所以我看某些知识就需要视屏(主要认识一个新事物,接近0认识的那种)!而对于一些扩展知识,比如学了java基础,数据库等后去学习redis,mongoDB或者一些工具的使用(SVN,GIT)都是可以看图文的!毕竟图文的优势就是快进快退轻松自如,知识就摆在你面前,任你操作,前面不懂先跳过,后面又好像懂了就回来复习下(视频就不好把握了,快进的代价很大,很可能落下什么)!