Redis(一)安装和基本操作

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

    它是一个内存型数据库,所有的数据都存在内存中,一旦断电会丢失所有数据。所以它必须要持久化,将数据写入磁盘中。

    首先,只需要知道有这些知识点,不需要强迫自己记忆,多练习就好。

    安装:

直接下载目前最新的6.0.3 版本,下载地址:

http://download.redis.io/releases/redis-6.0.3.tar.gz
$ wget http://download.redis.io/releases/redis-6.0.3.tar.gz$ tar zxvf redis-6.0.3.tar.gz$ cd redis-6.0.3$ make$ sudo make install

    默认安装到/usr/local/bin/目录。在/usr/local/bin/目录下redis-server 是服务器程序,redis-cli 是客户端程序。

    可以使用ln -s 软链接,将目标文件链接到你想要的位置。

ln -s /usr/local/bin/redis-server ~ln -s /usr/local/bin/redis-cli ~

    启动redis:  直接在/usr/local/bin/下,输入./redis-server启动。此时默认加载redis.conf。如果你想使用自定义的conf,那么就在命令后添加自定义文件名。

    关闭redis:可以使用 ./redis-cli shutdown。也可以在进入redis后使用shutdown。

    持久化:save。

  • 字符串类型

SET key value

GET key

例子:

set key hello

get key

  • 递增数字

INCR num

  • 增加指定的整数

INCRBY key increment

INCRBY bar 2

  • 递减数字

DECR key

  • 减少指定的整数

DECRBY key decrement

  • 增加指定浮点数

INCRBYFLOAT key increment

  • 向尾部追加值

APPEND key  value

  • 获取字符串长度

STRLEN key

  • 位操作

GETBIT key offset

setbit key offset [start] [end]

BITCOUNT key [start] [end]

BITOP operation destkey key1 key2 ....

    其中位操作是指实际存储的数据的位。  

例如:set alphabet A,A的ASCII码是67。实际的值是0010 0011。那么使用setbit alphabet 5 1,其ASCII码为0010 0111。则alphabet的值为“E”。

  •     哈希(hash)类型

    一种以存储键值对的形式字典结构(key-value)。

哈希类型适合存储对象;使用对象类别和ID构成键名,使用字段表示独享的属性。而字段存储属性值。

hset key field value field  value2  field3 value3 这条语句等价于hmset key field value field  value2  field3 value3

例如一扫地机器人, 可以称它为ROBOT:1, 它的功能(function)为清洁(cleaning),它的名称(name)为joy。价格(price)为200元。

那么就可以这样使用语句:

hset ROBOT:1    function  cleaning name joy  price 200

hgetall key 获取某个哈希的所有类型的字段以及字段对应的值。

HSET的命令不需要区分插入和更新操作。所以修改数据之前不需要判断字段是否存在。

  • 列表类型

    列表类型可以存储一个有序的字符串列表,常用的操作是向队列两端添加元素,或者获取某个列表内某个范围的值。

向列表中左边添加一个元素。lpush key1 value2  key2 value2  .....向列表中右边添加一个元素。rpush key1 value2  key2 value2  ....

先假设有三个人: cofield、mike、john、joy。

如果使用lpush往列表中添加cofield,则列表为:

如果使用rpush往列表中添加cofield,则列表为:mike、john、joy、cofield。

获取某个范围的值:zrange  key  start end

下标从0开始逐次递增,同时也有另外一种表示方法:最后一个元素下标为-1。从右往左依次递减。

还是以上面的为例。

cofield、mike、john。 下标从0开始。  cofield(0)、mike(1)、john(2)。

使用zrange man 0 2获取cofield、mike、john。

最后一个元素下标为-1。从右往左依次递减。cofield(-3)、mike(-2)、john(-1)。

使用zrange man -3 -1获取cofield、mike、john。

    集合和有序结合,在网上都能搜索到。目前我也不知道用作什么具体应用,等日后我在实际项目中使用Redis后再做补充。

猜你喜欢

转载自blog.csdn.net/koganlee/article/details/106991290
今日推荐