redis命令行
1.string字符操作
增: set keyName strValue
例子:set name "Guddqs"
–tips:字符串要不要加双引号,我也不知道
删: del keyName
例子: del name
–tips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
改: set keyName newValue
例子:set name "WQ
利用赋值命令直接覆盖原值,同理以后也有很多相似之处!
查: get keyName
例子 get name
–tips: 注意区分大小写!
除此之外,还有一些其他的
如 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 sex
–tips: 返回值为(integer) 1 代表删除成功! 失败即为 (integer) 0
当然,如何删除整个map呢? 很简单:del keyName ; 如 del me
改: hmset keyName mapkey1 mapnewval mapkey2 mapnewval2
例子: hmset me name "WQ" age 25
利用赋值命令直接覆盖原值,同理以后也有很多相似之处!
查: hgetall keyName
例子 hgetall me
–tips: 注意区分大小写!
当然还有 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 java
–tips: 返回值为(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 10
–tips: 尾数可以超过集合长度
当然还有 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 1
–tips:似乎加不加双引号最后显示都带双引号
同时也可以添加多个sadd ids 1 2 3 4 5
删: srem keyName setVal
例子: srem ids 3
–tips: 返回值为(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 1
–tips: 其中0是分数 , 1是加入的值
同时也可以添加多个zadd ids 0 1 0 2 0 3 0 4
加入了分数为0 的1234
删: zrem keyName member1 [member2] 同时删除多个或单个!
例子: zrem ids 1 2
–tips: 返回值为(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)都是可以看图文的!毕竟图文的优势就是快进快退轻松自如,知识就摆在你面前,任你操作,前面不懂先跳过,后面又好像懂了就回来复习下(视频就不好把握了,快进的代价很大,很可能落下什么)!