文档章节

redis02字符串

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:18
字数 413
阅读 1
收藏 0

查看所有的数据

源文件: allkeys.py

import json
import redis
from _functools import partial

# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')

# 清空所有键
for number, key in enumerate(r.keys()):
    r.delete(key)

# 准备数据
r.set('using_language', 'python')
r.set('favorite_framework', 'tornado')
r.set('personal_info', json.dumps({'name': 'zhengtong', 'sex': 'male', 'work': 'pythoner'}))
r.rpush('learning_language', 'javascript', 'reactjs', 'react-native')

# 查看当前数据库所有的键值
for number, key in enumerate(r.keys()):
    if number == 0:
        print('{!s:<20}{!s:<30}{}'.format('数据类型', '键名', '值'))
    call = partial(lambda: '')
    if r.type(key) == b'string': call = partial(r.get, key)
    if r.type(key) == b'list': call = partial(r.lrange, *(key, 0, -1))
    print('{!s:<20}{!s:<30}{}'.format(r.type(key), key, call()))

# 输出结果
数据类型                键名                            值
b'string'           b'favorite_framework'         b'tornado'
b'string'           b'using_language'             b'python'
b'string'           b'personal_info'              b'{"work": "pythoner", "name": "zhengtong", "sex": "male"}'
b'list'             b'learning_language'          [b'javascript', b'reactjs', b'react-native']

MSET/MGET vs SET/GET

区别
SET/GET 是针对单个键值操作。
MSET/MGET 是针对一组键值进行操作。

相同
它们都是归属于字符串类型。

用set/get来操作键值

import redis

# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')

# 清空所有键
for number, key in enumerate(r.keys()):
    r.delete(key)

# 设置键值
r.set('key_a', 'a')
r.set('key_b', 'b')
r.set('key_c', 'c')
r.set('key_d', 'd')
r.set('key_e', 'e')

# 读取键值
key_a = r.get('key_a')
key_b = r.get('key_b')
key_c = r.get('key_c')
key_d = r.get('key_d')
key_e = r.get('key_e')

# 打印键值
print(key_a, key_b, key_c, key_d, key_e, sep='\n')

# 显示结果
b'a'
b'b'
b'c'
b'd'
b'e'

用mset/mget来操作键值

import redis

# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')

# 清空所有键
for number, key in enumerate(r.keys()):
    r.delete(key)

# 设置键值
r.mset(**{'key_a': 'a', 'key_b': 'b', 'key_c': 'c',
          'key_d': 'd', 'key_e': 'e'})

# 读取键值
key_a, key_b, key_c, key_d, key_e = r.mget('key_a', 'key_b', 'key_c',
                                           'key_d', 'key_e')

# 打印键值
print(key_a, key_b, key_c, key_d, key_e, sep='\n')   

# 显示结果
b'a'
b'b'
b'c'
b'd'
b'e'

参考

本文转载自:http://www.jianshu.com/p/213431a4f6f0

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
saltstack (2) 常用模块

1、crontab模块 [root@redis01-jp ~]# salt 'redis02-jp' cron.raw_cron root 查看指定用户的计划任务 redis02-jp: [root@redis01-jp ~]# salt 'redis02-jp' cron.set_job root '55' '14' '......

meteor_hy
2016/12/20
0
0
redis02-redis安装

redis系列文章 1、Redis下载 从 https://redis.io/download 下载最新版本 本教程使用3.2.9版本进行安装 2、Redis Liunx下安装 (1)下载与解压 (2)编译与安装 (3)拷贝默认配置文件到安装...

追梦着
2017/06/01
0
0
PHP中String字符串处理函数完整版

文章来源:PHP开发学习门户 我的原创地址:http://www.phpthinking.com/archives/602 开发习惯常用字符串处理函数梳理: strtr() 转换字符串中特定的字符。 substr() 返回字符串的一部分。 ...

PHP开发学习门户
2014/10/16
0
0
awk内建函数之字符串函数

index(原字符串,匹配字符串) length(字符串) match(原字符串,正则表达式) split(原字符串,数组名称,分隔字符) sprintf(格式字符串,项1,项2,...) sub(正则,替换的新字符串,原字符串) gsub(正则...

吾言
2016/10/28
0
0
javascript中String(字符串对象)

javascript中String(字符串对象) String 对象用于处理已有的字符块。 JavaScript 中 slice 、substr 和 substring的区别: 1: String.slice(start,end): 一个新的字符串。包括字符串 string...

cnu2m
2014/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Generator-ES6

基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装...

简心
29分钟前
4
0
FullCalendar日历插件说明文档

普通显示设置 属性 描述 默认值 header 设置日历头部信息。 如果设置为false,则不显示头部信息。包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置: title: 显示当...

ada_young
29分钟前
1
0
Redis知识总结--string的内部实现

SDS(Simple Dynamic String) String的数据结构是一个字节数组,但简单的获取数组长度的时间复杂度就是O(n),这对于单线程的redis来讲是不能接受的,因此string在redis中的实现是SDS类,SDS类...

looqy
40分钟前
2
0
SpringBoot开发案例之整合Dubbo分布式服务

前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 ...

Java干货分享
45分钟前
5
0
美团团购订单系统优化记

团购订单系统简介 美团团购订单系统主要作用是支撑美团的团购业务,为上亿美团用户购买、消费提供服务保障。2015年初时,日订单量约400万~500万,同年七夕订单量达到800万。 目标 作为线上S...

Skqing
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部