美文网首页
Redis 基础命令

Redis 基础命令

作者: 违规昵称不予展示 | 来源:发表于2019-03-07 18:44 被阅读0次

手撸代码,如有错误请联系QQ:2567828851


下载、安装、使用:

想要windows版本的小伙伴可以到【这里】去下载

1.linux版本直接用几条命令来下载,解压,和编译吧

Sanqiushu:~$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz
Sanqiushu:~$ tar xzf redis-5.0.3.tar.gz
Sanqiushu:~$ cd redis-5.0.3
Sanqiushu:~/redis-5.0.3$ make

2.编译完成后进入src目录使用启动服务端

Sanqiushu:~/redis-5.0.3$ cd src
Sanqiushu:~/redis-5.0.3/src$ ./redis-server

windows端的可以在cmd中输入 redis-server 来启动服务端(如果安装的时候没有点加入环境变量的话可以进入安装目录下的src目录按Shift+鼠标右键选择打开PowerShell或cmd然后执行命令)

3.进入相应目录打开客户端连接

Sanqiushu:~$ cd redis-5.0.3/
Sanqiushu:~/redis-5.0.3$ ./src/redis-cli
127.0.0.1:6379>

String类型对应操作

set -- 设置一个键对应的值(键不存在会被创建)

用法:
set key value [expiration EX seconds|PX milliseconds] [NX|XX]
EX 是指暂存时间(秒)
例如:
127.0.0.1:6379> set animal 'Cat'
OK

get -- 得到一个键对应的值

用法:
get key
例如:
127.0.0.1:6379> get animal
"Cat"

append -- 为一个键对应的值进行拼接

用法:
append key value
例子:
127.0.0.1:6379> append animal ' Dog'
(integer) 7
127.0.0.1:6379> get animal
"Cat Dog"
127.0.0.1:6379>

mset -- 设置多个键的值(键不存在会被创建)

用法:
mset key value [key value ...]
例子:
127.0.0.1:6379> mset user1 'xiaoming' user2 'lilei'
OK
127.0.0.1:6379>

mget -- 获取键对应的值

用法:
mget key [key ...]
例子:
127.0.0.1:6379> mget user1 user2 animal
1) "xiaoming"
2) "lilei"
3) "Cat Dog"
127.0.0.1:6379>

del -- 删除一个键值对

用法:
del key [key ...]
例子:
127.0.0.1:6379> del user2
(integer) 1
127.0.0.1:6379>

incr、decr 自增 、自减

用法:
incr key
decr key
例子:
127.0.0.1:6379> set num 8
OK
127.0.0.1:6379> incr num
(integer) 9
127.0.0.1:6379> decr num
(integer) 8
127.0.0.1:6379>

List对应操作

lpush -- 从左插入一个数据(从队列头部插入一个数据)

用法:
lpush key value [value ...]
例子:
127.0.0.1:6379> lpush q1 'Jhon' 'Cat' 'Amy'
(integer) 3

rpush -- 从右插入一个数据(从队列尾部插入一个数据)

用法:
rpush key value [value ...]
例子:
127.0.0.1:6379> rpush q1 'Bob'
(integer) 4

llen -- 查看队列长度

用法:
llen key
例子:
127.0.0.1:6379> llen q1
(integer) 4
127.0.0.1:6379>

lrange -- 查看队列内容

用法:
lrange key start stop
例子:
127.0.0.1:6379> lrange q1 0 -1
1) "Amy"
2) "Cat"
3) "Jhon"
4) "Bob"

与python类似-1代表倒数第一位,也就是最后一个

lpushx -- 向存在的列表中左插入一个值(插入不存在的列表时不做任何操作)

用法:
lpushx key value
例子:
127.0.0.1:6379> lpushx q1 'zhang'
(integer) 5
127.0.0.1:6379> lrange q1 0 -1
1) "zhang"
2) "Amy"
3) "Cat"
4) "Jhon"
5) "Bob"
127.0.0.1:6379> lpushx q2 'zhang'
(integer) 0
127.0.0.1:6379>

rpushx -- 向存在的列表中右插入一个值(插入不存在的列表时不做任何操作)

ltrim -- 左截取一定长度的列表(剩下的删除)

用法:
ltrim key start stop
例子:
127.0.0.1:6379> ltrim  q1 0 2
OK
127.0.0.1:6379> lrange q1 0 -1
1) "zhang"
2) "Amy"
3) "Cat"
127.0.0.1:6379>

lpop -- 左删除列表中的一个值

用法:
 lpop key
例子:
127.0.0.1:6379> lpop q1
"zhang"
127.0.0.1:6379> lrange q1 0 -1
1) "Amy"
2) "Cat"
127.0.0.1:6379>

rpop -- 右删除列表中的一个值


Set类型相关操作

sadd -- 向集合中加入元素

用法:
sadd key member [member ...]
例子:
127.0.0.1:6379> sadd zoo Cat Dog
(integer) 2
127.0.0.1:6379>

这里的Cat 和 Dog 可以不加引号

smembers -- 查看集合中的元素

用法:
 smembers key
例子:
127.0.0.1:6379> smembers zoo
1) "Dog"
2) "Cat"
127.0.0.1:6379>

srem -- 从集合中移除元素

用法:
srem key member [member ...]
例子:
127.0.0.1:6379> srem zoo Cat
(integer) 1
127.0.0.1:6379>

sismember -- 查看某个值是否在某个集合中

用法:
sismember key member
例子:
127.0.0.1:6379> sismember zoo Dog
(integer) 1
127.0.0.1:6379> sismember zoo Cat
(integer) 0
127.0.0.1:6379>

1 代表存在,0 代表不存在

sdiff -- 比较集合间的不同(以第一个集合为基准)

用法:
sdiff key [key ...]
例子:
127.0.0.1:6379> smembers zoo
1) "Dog"
2) "Cat"
127.0.0.1:6379> smembers zoo1
1) "Cow"
2) "Cat"
127.0.0.1:6379> sdiff zoo zoo1
1) "Dog"
127.0.0.1:6379>

先查看zoo 、zoo1里有什么,再比较一下不同

sinter -- 计算集合的交集

用法:
sinter key [key ...]
例子:
127.0.0.1:6379> sinter zoo zoo1
1) "Cat"
127.0.0.1:6379>

sunion -- 计算集合的并集

用法:
sunion key [key ...]
例子:
127.0.0.1:6379> sunion zoo zoo1
1) "Cow"
2) "Dog"
3) "Cat"
127.0.0.1:6379>

Hash相关操作

hset/hget -- 设置/获取散列值

用法:
hset key field value
hget key field
例子:
127.0.0.1:6379> hset news:1 title 'News Title'
(integer) 1
127.0.0.1:6379> hset news:1 content 'News Content'
(integer) 1
127.0.0.1:6379> hget news:1 title
"News Title"
127.0.0.1:6379> hget news:1 content
"News Content"

这里(news:1)是一个整体,在这里作为key

hmset/hmget -- 设置/获取多对散列值

用法:
hmset key field value [field value ...]
hmget key field [field ...]
例子:
127.0.0.1:6379> hmset news:2 title 'Title2' content 'Content2' is_valid 1
OK
127.0.0.1:6379> hmget news:2 title content is_valid
1) "Title2"
2) "Content2"
3) "1"
127.0.0.1:6379>

hsetnx -- 如果散列值已经存在,则不设置

用法:
hsetnx key field value
例子:
127.0.0.1:6379> hget news:2 is_valid
"1"
127.0.0.1:6379> hsetnx news:2 is_valid 2
(integer) 0
127.0.0.1:6379> hget news:2 is_valid
"1"
127.0.0.1:6379>

hkeys/hvals -- 返回所有Keys/Values

用法:
hkeys key
hvals key
例子:
127.0.0.1:6379> hkeys news:1
1) "title"
2) "content"
127.0.0.1:6379>
127.0.0.1:6379> hvals news:2
1) "Title2"
2) "Content2"
3) "1"
127.0.0.1:6379>

hlen -- 返回散列包含域(field)的数量

用法:
hlen key
例子:
127.0.0.1:6379> hlen news:2
(integer) 3
127.0.0.1:6379>

hdel -- 删除散列指定的域(field)

用法:
hdel key field [field ...]
例子:
127.0.0.1:6379> hdel news:2 is_valid
(integer) 1
127.0.0.1:6379>

hexists --判断散列是否存在

用法:
hexists key field
例子:
127.0.0.1:6379> hexists news:2 is_valid
(integer) 0
127.0.0.1:6379>

相关文章

  • redis常用命令教程

    Redis 基础教程 Redis 教程、Redis 安装、Redis 配置、Redis 数据类型 Redis 命令...

  • Redis命令和使用技巧

    基础命令 server: 启动server:redis-server 指定启动端口:redis-server --...

  • Redis安装、配置及使用

    安装 安装gcc依赖 安装Redis 配置 基础命令

  • redis5.0.7

    1.redis 安装 2.redis 命令基础使用 3.redis持久化存储 https://redis.io/t...

  • Redis

    Redis 端口 : 6379 客户端登录 redis-cli 基础命令 Redis 默认 16 个库 0-15切...

  • redis基础命令

    info命令 select 2选择Keyspace,默认连接0 ,默认有(0---15个 Keyspace) fl...

  • Redis 基础命令

    Redis学习 0.基础操作 清空当前数据库所有key&value 清空所有数据库所有key&value 返回当前...

  • redis基础命令

    全局命令 列表 哈希 集合

  • Redis 基础命令

    手撸代码,如有错误请联系QQ:2567828851 下载、安装、使用: 想要windows版本的小伙伴可以到【这里...

  • Redis基础命令

    为了不让注释限制了你思考,所以我没写注释。。。。 Key:exists keydel keytype keyren...

网友评论

      本文标题:Redis 基础命令

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