首页 linux 应用正文

redis使用----数据类型和操作命令

helight0 linux 应用 2012-10-24 53 0 cuwsgi

最简单的就是key<-->value, 就是每条数据都是一个键名一个键值,如下面的操作

在编译之后在源代码目录种就可以启动redis

helight@zhwen:/data/opencode/redis/redis-2416/src$ ./redis-server

另外在这个源代码目录下还有一个集成客户端:和mysql命令一样启动后就可以登录redis进行命令操作了。

helight@zhwen:/data/opencode/redis/redis-2416/src$ ./redis-cli redis 127.0.0.1:6379> get foo "\"werwer\"" redis 127.0.0.1:6379>

telnet也可以操作

helight@zhwen:/data/opencode/redis/redis-2416/src$ telnet 127.0.0.1 6379 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. set foo "werwer" +OK get foo $8 "werwer" quit +OK Connection closed by foreign host. helight@zhwen:/data/opencode/redis/redis-2416/src$

在redis的数据类型种我们一般使用这样几种:Strings、Lists、Hashs、Sets,Sorted sets

1.strings类型是最简单的,就是一个key对应一个value,value可以是任意类型的值

2.list的操作是这样的:可以从左面插入list,也可以从右面插入list,读取也是一样的。

redis 127.0.0.1:6379> rpush xlist 345345 (integer) 1 redis 127.0.0.1:6379> rpush xlist 34sdf (integer) 2 redis 127.0.0.1:6379> rpush xlist 34sd234 (integer) 3 redis 127.0.0.1:6379> LRANGE xlist 0 4 //读取0~4的所有元素 1) "345345" 2) "34sdf" 3) "34sd234" redis 127.0.0.1:6379> rpop xlist "34sd234" redis 127.0.0.1:6379> lpop xlist "345345" redis 127.0.0.1:6379> lpop xlist "34sdf" redis 127.0.0.1:6379>

3.Hashes类型,hashes和其它不一样的地方是是它有3个字段,key field value,所以在写入内容的控制上就多了一种选择,我感觉这个是非常使用的一种数据结构。

redis 127.0.0.1:6379> hset xlog xlog "asdf;asdfk;sdkf" (integer) 1 redis 127.0.0.1:6379> hset xlog xlog2 "asdf;asdfk;sdkf" (integer) 1 redis 127.0.0.1:6379> hset xlog xlog2 "as2343423423" //file重复之后,值会被覆盖掉 (integer) 0 redis 127.0.0.1:6379> hgetall xlog //获取所有field和value 1) "xlog" 2) "asdf;asdfk;sdkf" 3) "xlog2" 4) "as2343423423" redis 127.0.0.1:6379> hget xlog xlog  //获取单个field的value值 "asdf;asdfk;sdkf" redis 127.0.0.1:6379> hget xlog xlog2 "as2343423423" redis 127.0.0.1:6379> hexists xlog xlog2 //判断是否存在,存在返回1 (integer) 1 redis 127.0.0.1:6379> hexists xlog xlog3 //不存在返回0

(integer) 0 redis 127.0.0.1:6379> hkeys xlog //获取其中的keys 1) "xlog" 2) "xlog2" redis 127.0.0.1:6379> hlen xlog //获取数据条数 (integer) 2 redis 127.0.0.1:6379> hmset xlog xlog3 "tewta" xlog4 "asdfasdf" //添加多个field value OK redis 127.0.0.1:6379> hgetall xlog 1) "xlog" 2) "asdf;asdfk;sdkf" 3) "xlog2" 4) "as2343423423" 5) "xlog3" 6) "tewta" 7) "xlog4" 8) "asdfasdf" redis 127.0.0.1:6379> hmget xlog xlog3 xlog4 //获取多个field的value 1) "tewta" 2) "asdfasdf"

4.Sets类型,sets就是key的集合体,可以建多个key放到这里面,进行管理。在做存在性判断时候比较有用,它的查找时间为 O(1)的。

redis 127.0.0.1:6379> sadd xtest "asdsdf" (integer) 1 redis 127.0.0.1:6379> sadd xtest "234" (integer) 1 redis 127.0.0.1:6379> sadd xtest "4343" (integer) 1 redis 127.0.0.1:6379> smembers xtest //列出所有元素 1) "234" 2) "asdsdf" 3) "4343" redis 127.0.0.1:6379> sismember xtest 234 //判断元素是否存在 (integer) 1 redis 127.0.0.1:6379> sismember xtest 23423 (integer) 0 redis 127.0.0.1:6379>

 

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。