美文网首页运维redis缓存
Redis 命令下链接服务器以及一些常用命令

Redis 命令下链接服务器以及一些常用命令

作者: yichen_china | 来源:发表于2019-04-11 10:13 被阅读1次

    Redis 是一个开源,高级的键值对的存储。它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets(无序集合) 和 sorted sets(有序集合).
    如果我们要在windows下使用Redis作为学习之用,可以去https://github.com/dmajkic/redis/downloads 下载最新的windows下的redis,最新的版本目前是5.0

    现在完成以后可以解压,有2个文件夹,分别对应的是32位的windows, 64位的windows。
    双击 redis-server.exe运行。可以看到一些信息:

    端口号:6379;使用了redis.conf配置文件;redis的版本号:2.4.5;还有就是客户端的连接数。
    此时,可以双击 redis-cli.exe 运行一个客户端,运行后可以看到redis 127.0.0.1:6379
    此时可以通过一个命令来展示redis的功能。redis的命令如下:
    

    启动cmd控制台

    1、把路径设置到redis的目录下

    cdC:\Users\Administrator\Desktop\redisbin_x64

    2、输入连接redis的命令

    >redis-cli.exe -h127.0.0.1 -p 6379
    

    2.1、登陆有密码的Redis:设置密码请看另一个链接
    在登录的时候的时候输入密码:

       redis-cli -p 6379 -a mypassword1234
    先登陆后验证:
    
       redis-cli -p 6379
    
       redis 127.0.0.1:6379> auth mypassword1234
       OK
    

    -h后面是ip,-p是端口

    3、连接成功后,可以输入redis的命令

    set  name  test
    

    设置key为name,值为test

    get name
    

    获取name的值

    del name
    

    删除key为name的键

    quit
    

    关闭与redis的连接

    以下是redis的常用命令

    连接控制

    QUIT 关闭连接
    AUTH (仅限启用时)简单的密码验证
    

    适合全体类型的命令

    EXISTS key 判断一个键是否存在;存在返回 1;否则返回0;
    DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4
    TYPE key 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash)
    KEYS pattern 返回匹配的key列表 (KEYS foo*:查找foo开头的keys)
    RANDOMKEY 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串
    RENAME oldname newname更改key的名字,新键如果存在将被覆盖
    RENAMENX oldname newname 更改key的名字,如果名字存在则更改失败
    DBSIZE返回当前数据库的key的总数
    EXPIRE设置某个key的过期时间(秒),(EXPIRE bruce 1000:设置bruce这个key1000秒后系统自动删除)
    

    注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。

    TTL查找某个key还有多长时间过期,返回时间秒
    SELECT index 选择数据库
    MOVE key dbindex 将指定键从当前数据库移到目标数据库 dbindex。成功返回 1;否则返回0(源数据库不存在key或目标数据库已存在同名key);
    FLUSHDB 清空当前数据库中的所有键
    FLUSHALL 清空所有数据库中的所有键
    

    处理字符串的命令

    SET key value 给一个键设置字符串值。SET keyname datalength data (SET bruce 10 paitoubing:保存key为burce,字符串长度为10的一个字符串paitoubing到数据库),data最大不可超过1G。
    GET key获取某个key 的value值。如key不存在,则返回字符串“nil”;如key的值不为字符串类型,则返回一个错误。
    GETSET key value可以理解成获得的key的值然后SET这个值,更加方便的操作 (SET bruce 10 paitoubing,这个时候需要修改bruce变成1234567890并获取这个以前的数据paitoubing,GETSET bruce 10 1234567890)
    MGET key1 key2 … keyN 一次性返回多个键的值
    SETNX key value SETNX与SET的区别是SET可以创建与更新key的value,而SETNX是如果key不存在,则创建key与value数据
    MSET key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值
    MSETNX key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值(目标键不存在情况下,如果有一个以上的key已存在,则失败)
    
    INCR key 自增键值
    INCRBY key integer 令键值自增指定数值
    DECR key 自减键值
    DECRBY key integer 令键值自减指定数值
    

    处理 lists 的命令

    RPUSH key value 从 List 尾部添加一个元素(如序列不存在,则先创建,如已存在同名Key而非序列,则返回错误)
    LPUSH key value 从 List 头部添加一个元素
    LLEN key 返回一个 List 的长度
    LRANGE key start end从自定的范围内返回序列的元素 (LRANGE testlist 0 2;返回序列testlist前0 1 2元素)
    LTRIM key start end修剪某个范围之外的数据 (LTRIM testlist 0 2;保留0 1 2元素,其余的删除)
    LINDEX key index返回某个位置的序列值(LINDEX testlist 0;返回序列testlist位置为0的元素)
    LSET key index value更新某个位置元素的值
    LREM key count value 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。
    LPOP key 弹出 List 的第一个元素
    RPOP key 弹出 List 的最后一个元素
    RPOPLPUSH srckey dstkey 弹出 _srckey_ 中最后一个元素并将其压入 _dstkey_头部,key不存在或序列为空则返回“nil”
    

    处理集合(sets)的命令(有索引无序序列)

    SADD key member增加元素到SETS序列,如果元素(membe)不存在则添加成功 1,否则失败 0;(SADD testlist 3 \n one)
    SREM key member 删除SETS序列的某个元素,如果元素不存在则失败0,否则成功 1(SREM testlist 3 \N one)
    SPOP key 从集合中随机弹出一个成员
    SMOVE srckey dstkey member 把一个SETS序列的某个元素 移动到 另外一个SETS序列 (SMOVE testlist test 3\n two;从序列testlist移动元素two到 test中,testlist中将不存在two元素)
    SCARD key 统计某个SETS的序列的元素数量
    SISMEMBER key member 获知指定成员是否存在于集合中
    SINTER key1 key2 … keyN 返回 key1, key2, …, keyN 中的交集
    SINTERSTORE dstkey key1 key2 … keyN 将 key1, key2, …, keyN 中的交集存入 dstkey
    SUNION key1 key2 … keyN 返回 key1, key2, …, keyN 的并集
    SUNIONSTORE dstkey key1 key2 … keyN 将 key1, key2, …, keyN 的并集存入 dstkey
    SDIFF key1 key2 … keyN 依据 key2, …, keyN 求 key1 的差集。官方例子:
    key1 = x,a,b,c
    key2 = c
    key3 = a,d
    SDIFF key1,key2,key3 => x,b
    SDIFFSTORE dstkey key1 key2 … keyN 依据 key2, …, keyN 求 key1 的差集并存入 dstkey
    SMEMBERS key 返回某个序列的所有元素
    SRANDMEMBER key 随机返回某个序列的元素
    

    处理有序集合(sorted sets)的命令 (zsets)

    ZADD key score member 添加指定成员到有序集合中,如果目标存在则更新score(分值,排序用)
    ZREM key member 从有序集合删除指定成员
    ZINCRBY key increment member 如果成员存在则将其增加_increment_,否则将设置一个score为_increment_的成员
    ZRANGE key start end 返回升序排序后的指定范围的成员
    ZREVRANGE key start end 返回降序排序后的指定范围的成员
    ZRANGEBYSCORE key min max 返回所有符合score >= min和score <= max的成员 ZCARD key 返回有序集合的元素数量 ZSCORE key element 返回指定成员的SCORE值 ZREMRANGEBYSCORE key min max 删除符合 score >= min 和 score <= max 条件的所有成员
    

    排序(List, Set, Sorted Set)

    SORT key BY pattern LIMIT start end GET pattern ASC|DESC ALPHA 按照指定模式排序集合或List
    SORT mylist
    

    默认升序 ASC

    SORT mylist DESC
    SORT mylist LIMIT 0 10
    

    从序号0开始,取10条

    SORT mylist LIMIT 0 10 ALPHA DESC
    

    按首字符排序

    SORT mylist BY weight_*
    SORT mylist BY weight_* GET object_*
    SORT mylist BY weight_* GET object_* GET #
    SORT mylist BY weight_* STORE resultkey
    

    将返回的结果存放于resultkey序列(List)

    持久控制

    SAVE 同步保存数据到磁盘
    BGSAVE 异步保存数据到磁盘
    LASTSAVE 返回上次成功保存到磁盘的Unix时间戳
    SHUTDOWN 同步保存到服务器并关闭 Redis 服务器(SAVE+QUIT)
    BGREWRITEAOF 当日志文件过长时重写日志文件
    

    远程控制命令

    INFO 提供服务器的信息和统计信息
    MONITOR 实时输出所有收到的请求
    SLAVEOF 修改复制选项 
    

    命令都是大写,其实小写也是可以的。

    最简单的例子:

    set ok ok
    get ok 
    

    具体的命令大家可以一个一个试试。

    相关文章

      网友评论

        本文标题:Redis 命令下链接服务器以及一些常用命令

        本文链接:https://www.haomeiwen.com/subject/vcbziqtx.html