Redis数据类型和基础命令

3 篇文章 0 订阅
2 篇文章 0 订阅

中文官网:http://www.redis.cn/
服务器端redis安装:https://blog.csdn.net/Allencharm/article/details/128405686?spm=1001.2014.3001.5501

一、基础信息

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

二、基本命令

			set name1 zhangfei  ------设置key为name1,value为zhangfei的数据
            1)ping命令 --- 测试客户端和服务端是否连通
            2)shutdown --- 停止服务 或者在 外面 bin 目录下 ./redis-cli shutdown  重启 ./redis-server redis.conf 或者在 服务器 ./redis-server
            3)quit 、exit  --- 退出客户端登录
            4)keys  *  --- 查看当前库中有多少数据--显示key名称
            5)在 redis 中默认16个库,编号0-15,默认使用0号库;select  数字 --- 切换使用库
            6)flushdb  --- 删除当前库中数据
            7)flushall  ---  删除所有库数据
            8)expire  --- 设置数据有效时间 expire name1 100   秒
            9)ttl  --- 查看剩余有效时间  ttl name1
            10)exists --- 查看键值对是否存在 exists name1
            11)del  --  删除键值对 del name1 name2 可以删多个
            12)type -- 判断键值对数据类型 type name1

三、五大数据类型

redis中不同数据结构(数据类型)

字符串结构 — string、列表结构 — list、集合结构 — set、散列结构 – hash、有序集合结构 – zset/sorted set 有序去重

1)字符串结构 — string
	A、简而言之是指key-value结构中,value部分是字符串
	B、常用专属命令:
                    set -- 存数据、修改 set name1 zhangfei
                    get -- 取数据 get name1
                    append -- 追加 append name1 lihai  追加的字符串不能有空格
                    在value为数字时,可以增减量操作 incr 增+1  decr 减-1,incrby 增指定量  decrby 减指定量
                    mset -- 一次存多对数据
                    mget -- 一次获取多对数据
                    strlen --- 获取字符串长度
2)列表结构 — list
	A、结构特点是:key-value结构,value部分是list结构(符合java的list列表特点)
    B、专用命令:
                    lpush  rpush -- 存数据  可以从两头加入数据
                        lpush ages 22 34 21 45 20  : 20 45 21 34 22  (先进后出) 
                        rpush names zhangsan lisi wangwu zhaoliu zhangsan : zhangsan lisi wangwu zhaoliu zhangsan  (先进先出)
                    lrange  --- 取数据 从左往右取
                    取 key 集合中指定的 start 位置到 stop 位置的内容(-1代表集合结束)
                        lrange ages 0 2;    lrange ages 0 -1;   lrange ages 0 100
                    lpop   rpop -- 删除两端数据
                        lpop删除key集合的第一个元素 rpop删除key集合的最后一个元素
                    lindex-----获取key集合的index索引的元素
                        语法:lindex  key  index
                        lindex   ages  2
                    lrem-----删除key集合的count个索引的元素(集合中有重复值)  
                         语法:lrem key count value
                         192.168.18.200:6379>lrem ages 2  45  (在 ages 列表中删除 2 个45的值)
3)集合结构 — set
	A、结构特点是:key-value 结构,value 部分是 set 结构(符合 java 中 set 集合特点:(无序去重))
    B、专用命令:
                    sadd  --- 存数据 sadd  key  value1 value2 ...
                    smembers  -- 取数据 members   key
                    scard -- 统计成员个数 scard   key 
                    spop -- 随机删除值 spop    key
                    srem --- 指定删除某值 srem    key   value 
                    交并差 -- sinter   sunion   sdiff
                        sinter seta setb  (交)
                        sunion  seta setb (并)
                        sdiff seta setb   (差)
4)散列结构 – hash
     A、结构特点:key-value,value(可以看做是map) 部分是双列结构 (符合 java 中 map 结构特点)
     B、专用命令:
                    hset -- 存数据(一次存一个小对)
                        hset key  field  value
                        hset person name lisi
                    hmset -- 存数据(一次存多个小对)
                        hmset key field1 value1  field2 value2 ....
                        hmset student name wagnwu age 22 gender man
                    hget -- 取数据(一次取一个小对)
                        hget key field
                        hget person name
                    hmget -- 取数据(一次取多个小对)
                        hmget key  field1 field2 ....
                        hmget student name age gender
                    hincrby   hincrbyfloat -- 增量操作
                        hincrby h1 age1 15  hincrby h1 age1 -5
                        hincrbyfloat h1 sal 3.14
                    hdel -- 删除
                        hdel key field1 field2 ... 
                        hdel student name gender age
                    hkeys -- 获取所有key hkeys key :hkeys student
                    hvals -- 获取 key 的值 hvals key :hvals student
5)有序集合结构 – zset/sorted set 有序去重
      A、结构特点:key-value,value部分还是小对结构,小对中 score 的部分必须是数字,小对中 member 部分任意,
      利用 score 部分进行排序,默认升序显示,score 允许重复,member 不允许重复
      B、专用命令:
                    zadd -- 存数据
                        zadd  key   score value ...
                        zadd students 1 zhangsan 3 lisi 2 wangwu 5 zhaoliu
                    zrange -- 取数据
                        zrange key start stop
                        zrange students 0 -1
                    zrevrange -- 降序取数据
                        zrevrange key start stop
                        zrevrange students 0 -1 
                    zscore -- 取分数 score 部分
                        zscore key value
                        zscore students zhangsan 
                    zrank --- 返回有序集中指定成员的排名
                        ZRANK key member:ZRANGE salary 0 -1 显示所有成员及其 score 值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值