redis基础操作

版本号管理:
第一个小数点后的数字为偶数是稳定版本, 如 2.4 2.6
为奇数的版本为不稳定版本


安装
$ wget http://download.redis.io/releases/redis-4.0.0.tar.gz
$ tar xzf redis-4.0.0.tar.gz
$ cd redis-4.0.0
$ make

$ src/redis-server

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

redis可执行文件说明
redis-server redis服务器
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof aof文件修复工具
redis-check-dump rdb文件检查工具

 

redis启动服务
src/redis-server --port 6380
默认使用6379,--port参数可以自定义端口

 

编辑配置文件

vim /etc/redis.conf

bind 0.0.0.0

daemonize yes

 

Redis支持的键值数据类型:

1.字符串类型

2.散列类型

3.列表类型

4.集合类型

5.有序集合类型

 

测试客户端与redis是否连接正常,

ping命令 返回pong

 

多数据库

一个数据库实例中可以创建多个数据库,redis默认支持16个数据库

select 1;  进行切换

 

获取符合规则的键名

keys pattern 

eg; keys *    ,  keys user:*

建议一个键值

set bar 1

判断是否存在

EXISTS key

删除键

del key

获取键值的数据类型

type key

 

五大数据类型基本操作

字符串类型:

  set key value

  get key      -------------------》当键不存在时返回null

向尾部追加值

  set key hello

  append  key " world!"

获取字符串长度

  strlen key

同时获得/设置多个键值

  MGET key [key....]

  MSET key value [key value...]

位操作

  GETBIT key offset

  SETBIT key offset value

  BITCOUNT key [start] [end]

  BITOP operation destkey key [key...]              BITOP命令支持的运行操作有AND、OR、XOR和NOT

eg:  GETBIT str 2     ,

    SETBIT str 1 0  

    BITCOUNT str

散列类型(hash):

  HSET key field value

  HGET key field

  HMSET key field value [field value...]

  HMGET key field [field..]

  HGETALL key

判断字段是否存在:

  HEXISTS key field

当字段不存在时赋值:

  HSETNX key field value

增加数字

  HINCRBY key field increment

删除字段

  HDEL key field [field....]

只获取字段名

  HKEYS key

只获取字段值

  HVALS key

列表类型(list):存储一个有序的字符串列表,常用的操作是向两端添加元素,或者获得列表的某一个片段,内部是用双向链表(double linked list)实现,添加元素为:O(1)

向列表两端增加元素

  LPUSH key value  [value...]

  RPUSH key value [value...]

从列表两端弹出元素

  LPOP key

  RPOP key

获取列表片段

  LRANGE key start end 

  eg:  LRANGE list 0 -1       =============> 0:表示左边第一个元素       -1:表示右边第一个元素

删除列表中指定的值

  LREM key count value    ===========> LREM命令会删除表中前count个值为value的元素,返回实际删除元素的个数,

  当count>0时,LREM从列表左边开始删除前count个值为value的元素

  当count<0时,LREM从列表右边边开始删除前count个值为value的元素

  当count=0时,LREM从列表删除所有值为value的元素

获得/设置指定索引的元素值 

  LINDEX key index

  LSET key index value

只保留列表指定片段

  LTRIM key start end

向列表中插入元素

  LINSERT key BEFORE|AFTER pivot value

 

将元素从一个列表转到另一个列表

  RPOPLPUSH source  destination

集合类型:--==============》集合中的每个元素都不同,且没有序,Set可以存储至多 232-1

  

增加和删除元素

  SADD key member [member...]

  SREM key member[member...]

获取所有元素

  SMEMBERS key

判断一个元素是否在集合中

  SISMEMBER key member

集合间运算

  SDIFF  key [key...]    ===========>差集   A-B

  SINTER key [key...]    ===========>交际 A^B

  SUNION key [key...]    ===========>并集 AUB

eg:  SINTER seta setb setc

获得集合中元素个数

  SCARD key

进行集合运算并将结果储存

  SDIFFSTORE  destination  key [key..]

  SINTERSTORE  destination  key [key..]

  SUNIONSTORE  destination  key [key..]

随机获取集合中的元素

  SRANDMEMBER  key

  SRANDMEMBER  key  count

  

从集合中弹出一个元素

  SPOP key

 

有序集合类型 (sorted set):其中的每个元素都关联一个分数,使得我们不仅可以完成插入,删除和判断元素是否存在等集合类型

  

  

增加元素

  ZADD key source member [source member]

  eg:   ZADD scoreboard 25 jack

获得元素的分数

  ZSCORE key member  

  eg:  ZSCORE scoreboard jack

获得排名在某个范围的元素列表

  ZRANGE key start end [WITHSCORES]

获取指定分数范围的元素

  ZRANGEBYSCORE key min max 

增加某个元素的分数

  ZINCRBY key increment member 

获得集合中元素的数量

  ZCARD key

获取指定分数范围内的元素的个数

  ZCOUNT key min max

删除一个或多个元素

  ZREM key member [member...]

按照排名范围删除元素

  ZREMRANGEBYRANK key min max         ==========> min和max表示下表位置

  eg:  ZREMRANGEBYRANK scoreboard 0 1    

按照分数范围删除元素

  ZREMRANGEBYSCORE key min max

获得元素的排名

  ZRANK key member     ===========> 分数从小到大的顺序获得指定的元素的排名,最小的元素为0

  eg:   ZRANK scoreboard peter

  ZREVRANK key member

  eg:  ZREVRANK scoreboard peter  ============>与ZRANK相反,从大到小 

递增数字

  incr key

增长指定的整数

  INCRBY key 5     --------------> key增加5

增加指定浮点数

  INCRBYFLOAT key 5.5   ----------------》 key增加5.5

减小指定的整数

  DECR key 

  DECRBY  key  5   -------》key减小5

 

 

  

 

posted on 2017-07-27 19:31  Xiaox-xin  阅读(124)  评论(0编辑  收藏  举报

导航