命令参考文档:http://www.redis.cn/topics/introduction.html

1.安装及配置
官网https://redis.io
中文网站:http://www.redis.cn
windows版本下载地址:https://github.com/MSOpenTech/redis/releases

可以看到安装成了系统服务

2.字符串(String)相关操作
set -- 设置值
get -- 获取值
mset -- 设置多个键值对
mget -- 获取多个键值对
append -- 添加字符串
del -- 删除
incr/decr -- 数字加1、减1

设置、获取值
C:\Users\ajie>redis-cli
127.0.0.1:> set animal 'cat'
OK
127.0.0.1:> get animal
"cat"
127.0.0.1:> set animal 'dog'
OK
127.0.0.1:> get animal
"dog"
127.0.0.1:> append animal ' cat'
(integer)
127.0.0.1:> get animal
"dog cat" 设置获取多个值
127.0.0.1:> mset user1 'jhon' user2 'amy'
OK
127.0.0.1:> get user1
"jhon"
127.0.0.1:> get user2
"amy"
127.0.0.1:> mget user1 user2 animal
) "jhon"
) "amy"
) "dog cat"
127.0.0.1:> del user2
(integer)
127.0.0.1:> del user2
(integer)
127.0.0.1:> get user2
(nil) incr/decr数字加1、减1
127.0.0.1:> set num
OK
127.0.0.1:> get num
""
127.0.0.1:> set num
OK
127.0.0.1:> get num
""
127.0.0.1:> decr num
(integer)
127.0.0.1:> get num
""
127.0.0.1:> incr num
(integer)
127.0.0.1:> get num
"" 设置键的过期时间
127.0.0.1:> set animal 'monkey' ex
OK
127.0.0.1:> get animal
"monkey"
127.0.0.1:> get animal
(nil)

3.列表(list)相关操作

lpush/rpush -- 从左/右插入数据
lrange -- 获取指定长度的数据
ltrim -- 截取一定长度的数据
lpop/rpop -- 移除最左、右的元素并返回
lpushx/rpushx -- key存在的时候才插入数据,不存在时不做任何处理

插入多条数据
127.0.0.1:> lpush q1 'jhon' 'cat' 'amy'
(integer)
127.0.0.1:> llen q1
(integer)
127.0.0.1:> lrange q1 -
) "amy"
) "cat"
) "jhon"
127.0.0.1:> lrange q1
) "amy"
) "cat"
) "jhon"
127.0.0.1:> rpush q1 'bob'
(integer)
127.0.0.1:> lrange q1
) "amy"
) "cat"
) "jhon"
) "bob"
127.0.0.1:> lpush q1 'okone'
(integer)
127.0.0.1:> lrange q1 -
) "okone"
) "amy"
) "cat"
) "jhon"
) "bob" 存在键就插入
127.0.0.1:> lpushx q1 'zhangsan'
(integer)
127.0.0.1:> lrange q1 -
) "zhangsan"
) "okone"
) "amy"
) "cat"
) "jhon"
) "bob" 不存在,不做任何操作
127.0.0.1:> lpushx q2 'AMY'
(integer)
127.0.0.1:> lrange q1 -
) "zhangsan"
) "okone"
) "amy"
) "cat"
) "jhon"
) "bob" 截取0-2的键
127.0.0.1:> ltrim q1
OK
127.0.0.1:> lrange q1 -
) "zhangsan"
) "okone"
) "amy"

4.集合(set)的相关操作

sadd/srem -- 添加/删除元素
sismember -- 判断是否为set的一个元素
smembers -- 返回该集合的所有成员
sdiff -- 返回一个集合与其他集合的差异
sinter -- 返回几个集合的交集
sunion -- 返回几个集合的并集

向集合zoo中添加Cat和Dog元素
127.0.0.1:> sadd zoo Cat Dog
(integer)
127.0.0.1:> smembers zoo
) "Dog"
) "Cat"
127.0.0.1:> srem zoo Cat
(integer)
127.0.0.1:> srem zoo Cat
(integer)
127.0.0.1:> sismember zoo Cat
(integer)
127.0.0.1:> sismember zoo Dog
(integer)
127.0.0.1:> smembers zoo
) "Dog" 127.0.0.1:> sadd zoo Cat
(integer)
127.0.0.1:> smembers zoo
) "Dog"
) "Cat"
127.0.0.1:> sadd zoo1 Cat Cow
(integer)
127.0.0.1:> smembers zoo1
) "Cow"
) "Cat"
127.0.0.1:> smembers zoo
) "Dog"
) "Cat" 比较集合的差异
127.0.0.1:> sdiff zoo zoo1
) "Dog"
127.0.0.1:> sdiff zoo1 zoo
) "Cow" 返回集合的交集
127.0.0.1:> sinter zoo zoo1
) "Cat" 返回集合的并集
127.0.0.1:> sunion zoo zoo1
) "Cow"
) "Dog"
) "Cat"

5.散列hash相关操作

hset/hget -- 设置/获取散列值
hmset/hmget --设置/获取多对散列值
hsetnx -- 如果散列已经存在,则不设置
hkeys/hvals -- 返回所有keys/values
hlen -- 返回散列包含域(field)的数量
hdel -- 删除散列指定的域(field)
hexists -- 判断是否存在

设置news:1的title和content内容
127.0.0.1:> hset news: title 'News title'
(integer)
127.0.0.1:> hset news: content 'news content'
(integer)
127.0.0.1:> hget news: title
"News title"
127.0.0.1:> hget news: content
"news content"
127.0.0.1:> hmget news: title content
) "News title"
) "news content"
127.0.0.1:> hmset news: title 'Title2' content 'Content2' is_valid
OK
127.0.0.1:> hmget news: title content is_valid
) "Title2"
) "Content2"
) "" 获取keys和values
127.0.0.1:> hkeys news:
) "title"
) "content"
127.0.0.1:> hkeys news:
) "title"
) "content"
) "is_valid"
127.0.0.1:> hvals news:
) "News title"
) "news content"
127.0.0.1:> hvals news:
) "Title2"
) "Content2"
) ""
127.0.0.1:> hlen news:
(integer)
127.0.0.1:> hlen news:
(integer)
127.0.0.1:> hdel news: is_valid
(integer)
127.0.0.1:> hdel news: is_valid
(integer)
127.0.0.1:> hlen news:
(integer) 判断值是否存在
127.0.0.1:> hexists news: is_valid
(integer)
127.0.0.1:> hset news: is_valid
(integer)
127.0.0.1:> hexists news: is_valid
(integer)

python操作三大主流数据库(11)redis的安装和简单使用的更多相关文章

  1. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  2. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...

  3. Python操作三大主流数据库☝☝☝

    Python操作三大主流数据库☝☝☝ Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数 ...

  4. Python操作三大主流数据库✍✍✍

    Python操作三大主流数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库, ...

  5. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...

  6. python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示

    python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...

  7. python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战

    python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...

  8. python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用

    python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...

  9. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

随机推荐

  1. 利用spring的MultipartFile实现文件上传【原】

    利用spring的MultipartFile实现文件上传 主要依赖jar包 spring-web-3.0.6.RELEASE.jar 用到 (org.springframework.web.multi ...

  2. react使用proxy代理配置

    proxy,默认为NULL,类型为URL,一个为了发送http请求的代理 在package.json文件中使用proxy配置可以解决跨域问题 使用注意事项: create-react-app脚手架低于 ...

  3. chart.js angular组件封装(ng6)、实战配置、插件编写

    前言 项目需要使用chart.js插件,由于项目是使用angular开发,那么我第一步就是先把chart.js改造成angular组件来使用. 本项目代码都可以在github上下载:项目git地址 a ...

  4. C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==header"

    本人是在写dll项目中出现了这个问题,经过一天的研究,尝试了三个步骤1.在配置属性->常规->MFC的使用中,将在静态库中使用MFC改为在共享DLL中使用MFC.但是还会出错2.原因是dl ...

  5. 七、文件IO——I/O处理方式和文件锁

    7.1 I/O 处理方式 7.1.1 I/O处理的五种模型 阻塞I/O模型 若所调用的 I/O 函数没有完成相关的功能就会使进程挂起,直到相关数据到达才会返回.如 终端.网络设备的访问. 非阻塞模型 ...

  6. Docker(二)搭建和使用Docker

    摘自 https://mp.weixin.qq.com/s/E9tqhe00EjfV8y1pqWkZfw 一.Docker的架构 Docker使用C/S结构,即客户端/服务器体系结构.Docker客户 ...

  7. 结构体类型struct

    教学视频 定义: struct student{CString name; int num; TCHAR sex; int age; };   //注意有个分号 student zansan = {_ ...

  8. Vue学习第一天:Vue.js指令系统

    1. 如何使用Vue.js? 1.1 直接引入 - <script src="./statics/vue.min.js"></script> - 引入之后在 ...

  9. 牛客寒假算法基础集训营4 F(二分+拓扑判环)

    题目链接 题目的输出:对于每次提问,输出一行"Yes"表示大家都遵守了群规,反之输出"No". 那么输出的就是一连串的yes和no了,二分一下无环的最大提问位置 ...

  10. Kaldi的data目录解析

    data/test # things in data/*test* and data/*train* cmvn.scp # Start point of every audio feature at ...