redis支持的数据结构:strings,lists,hashes,set,sorted set。下面一一来做实验strings的具体操作有:get/set/setnx,append,strlen,getrange/setrange,incr/decr/incrby/decrby,mget/mset,意思很简单大致都能看明白get/set就是插数据去数据(key----value对应着来):
- redis 127.0.0.1:6379[1]> set test chen
- OK
- redis 127.0.0.1:6379[1]> set test2 zhou
- OK
- redis 127.0.0.1:6379[1]> get test
- "chen"
- redis 127.0.0.1:6379[1]> get test2
- "zhou"
setnx就是插入数据看看是否存在相同的key值,如果存在则不执行返回0,如果不存在则执行返回1:
- redis 127.0.0.1:6379[1]> setnx test 11111
- (integer) 0
- redis 127.0.0.1:6379[1]> get test
- "chen"
append更是简单了,就是平时用的追加字符:
- redis 127.0.0.1:6379[1]> get test
- "chen"
- redis 127.0.0.1:6379[1]> append test @gmail.com
- (integer) 14
- redis 127.0.0.1:6379[1]> get test
- "chen@gmail.com"
getrange/setrange的用法就是简单的字符串操作,取出相对位置的字符,或者设置。这里实验的时候出现了问题,主要是对setrange的操作不熟悉,大家看看下面操作就明白了setrange是对相应位置进行等数量替换的,5的位置就是@那里,QQ.com是6个字符去替换mysina.com10个字符时,只能是代替前6个了。
- redis 127.0.0.1:6379[1]> set test3 chen@gmail.com
- OK
- redis 127.0.0.1:6379[1]> get test3
- "chen@gmail.com"
- redis 127.0.0.1:6379[1]> setrange test3 5 mysina.com
- (integer) 15
- redis 127.0.0.1:6379[1]> get test3
- "chen@mysina.com"
- redis 127.0.0.1:6379[1]> setrange test3 5 QQ.com
- (integer) 15
- redis 127.0.0.1:6379[1]> get test3
- "chen@QQ.com.com"
incr/decr/incrby/decrby就是自加自减的意思后面的incrby/decrby加入了步长,还有就是如果没有key值的话,它也可以操作:
- redis 127.0.0.1:6379> set age 20
- OK
- redis 127.0.0.1:6379> incr age
- (integer) 21
- redis 127.0.0.1:6379> get age
- "21"
- redis 127.0.0.1:6379> incrby age 5
- (integer) 26
- redis 127.0.0.1:6379> incrby ss 3
- (integer) 3
- redis 127.0.0.1:6379> incr tt 2
- (error) ERR wrong number of arguments for "incr" command
- redis 127.0.0.1:6379> get tt
- (nil)
mget/mset就是批量的插入取出。
hash表的基本操作与string一样,hget/hset/hsetnx,happend,hstrlen,hgetrange/hsetrange,hincr/hdecr/hincrby/hdecrby,hmget/hmset,就是在前面加了个H而已。它特别适合存储对象数据。基本的操作跟上面是一样的,这里的key作为hash的名字来用了,在操作时需要给出你要插入取出的hash域:
- redis 127.0.0.1:6379[1]> hset myhash ID 001
- (integer) 1
- redis 127.0.0.1:6379[1]> hset myhash name chen
- (integer) 1
- redis 127.0.0.1:6379[1]> hset myhash address ncut
- (integer) 1
- redis 127.0.0.1:6379[1]> hset myhash telephone 12332123
- (integer) 1
- redis 127.0.0.1:6379[1]> hget myhash id
- (nil)
- redis 127.0.0.1:6379[1]> hget myhash ID
- "001"
- redis 127.0.0.1:6379[1]> hget myhash name
- "chen"
- redis 127.0.0.1:6379[1]> hget myhash0000 name
- (nil)
其他的操作跟上面一样雷同即可:
- redis 127.0.0.1:6379[1]> hkeys myhash
- 1) "ID"
- 2) "name"
- 3) "address"
- 4) "telephone"
- redis 127.0.0.1:6379[1]> hvals myhash
- 1) "001"
- 2) "chen"
- 3) "ncut"
- 4) "12332123"
- redis 127.0.0.1:6379[1]> hgetall myhash
- 1) "ID"
- 2) "001"
- 3) "name"
- 4) "chen"
- 5) "address"
- 6) "ncut"
- 7) "telephone"
- 8) "12332123"
Redis学习总结之主从复制对Redis一些常用的命令进行测试相关资讯 Redis
- Redis 非关系型数据库 ( Nosql ) (07月01日)
- Java中使用Jedis操作Redis (04月08日)
- 在Ubuntu 14.04下安装Redis (01月31日)
| - 关于 Redis的订阅发布 (04月15日)
- MongoDB仲裁节点的理解及Memcached (02月13日)
- 关于redis中的Replication (01月29日)
|
本文评论 查看全部评论 (0)