Ubuntu安装Redis

sch01ar@ubuntu:~$ sudo apt install redis-server
sch01ar@ubuntu:~$ redis-server
sch01ar@ubuntu:~$ redis-cli

get(key):获取key中的值

127.0.0.1:6379> set name john
OK
127.0.0.1:6379> get name
"john"

keys *:获取全部的key

127.0.0.1:6379> keys *
1) "name_1"
2) "n1"
3) "n2"
4) "name"

del(key):删除指定的key

127.0.0.1:6379> keys *
1) "name_1"
2) "n1"
3) "n2"
4) "name"
127.0.0.1:6379> del name_1
(integer) 1
127.0.0.1:6379> keys *
1) "n1"
2) "n2"
3) "name"

set(key, value, ex=None, px=None, nx=False, xx=False):设置值,不存在则创建,存在则覆盖

ex为值的过期时间,单位为秒

px为值的过期时间,单位为毫秒

nx如果设置为True的话,则只有key不存在的时候,当前的set操作才执行

xx如果设置为True的话,则只有key存在的时候才执行当前的set操作

127.0.0.1:6379> set name john
OK
127.0.0.1:6379> get name # 获取name中的值
"john"
127.0.0.1:6379> set name jack
OK
127.0.0.1:6379> get name # 覆盖了原先的值
"jack"
127.0.0.1:6379> set age 22 ex 2 # 使age中的值存活2秒
OK
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> get age
(nil) # 过了时间就查不到值了
127.0.0.1:6379> set age 22 px 2000 # 使age中的值存活2000毫秒
OK
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> get age
(nil) # 过了时间就查不到值了
127.0.0.1:6379> set name jack nx # 因为name存在,所以set操作执行失败
(nil)
127.0.0.1:6379> set name_1 jack nx # 因为name_1不存在,所以set操作执行成功
OK
127.0.0.1:6379> set name john xx # 因为name存在,所以set操作执行成功
OK
127.0.0.1:6379> set name_1 john nx # 因为name_1不存在,所以set操作执行失败
(nil)

setex(key, value, time)

设置值,time为过期时间(数字秒 或 timedelta对象)

setnx(key, value)

设置值,只有key不存在的时候,才执行set设置操作

psetex(name, time_ms, value)

设置值,time_ms为过期时间(数字毫秒 或 timedelta对象)

mset(*args, **kwargs):批量设置值

127.0.0.1:6379> mset n1 php n2 asp
OK
127.0.0.1:6379> get n1
"php"
127.0.0.1:6379> get n2
"asp"

mget(*args, **kwargs):批量获取值

127.0.0.1:6379> mget n1 n2
1) "php"
2) "asp"

getset(key, value):获取原来的值并设置新值

127.0.0.1:6379> get name
"john"
127.0.0.1:6379> getset name jack
"john"
127.0.0.1:6379> get name
"jack"

getrange(key, start, end):获取子序列(根据字节获取,非字符)

start为起始位置(字节),end为结束位置(字节),一个汉字为3个字节

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> getrange name 1 3
"ack"

setrange(key, offset, value):修改字符串内容,从指定字符串索引开始向后替换,如果新值太长时,则向后添加

offset为字符串的索引,字节(一个汉字三个字节),value为要设置的值

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> setrange name 1 f
(integer) 4
127.0.0.1:6379> get name
"jfck"

strlen(key):返回key中值的字节长度(一个汉字为3个字节)

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> strlen name
(integer) 4

append(key, value):在key中的值后面追加内容

value为要追加的字符串

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> append name abcd
(integer) 8
127.0.0.1:6379> get name
"jackabcd"

incr(self, key, amount=1):自增key对应的值,当key不存在时,则创建key=amount,如果key存在就自增

amount为自增数(必须是整数)

127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> incr num
(integer) 4
127.0.0.1:6379> incr num
(integer) 5

incrbyfloat(self, key, amount=1.0):自增key对应的值,当key不存在时,则创建key=amount,如果key存在就自增

amount为自增数(浮点型)

127.0.0.1:6379> incrbyfloat float 1.2
"1.2"
127.0.0.1:6379> incrbyfloat float 1.2
"2.4"
127.0.0.1:6379> incrbyfloat float 1.2
"3.6"
127.0.0.1:6379> incrbyfloat float 1.2
"4.8"
127.0.0.1:6379> incrbyfloat float 1.2
"6"
127.0.0.1:6379> incrbyfloat float 1.2
"7.2"

decr(self, name, amount=1):自减key对应的值,当key不存在时,则创建key=amount,如果key存在就自减

amount为自减数(整数)

127.0.0.1:6379> decr num
(integer) 4
127.0.0.1:6379> decr num
(integer) 3
127.0.0.1:6379> decr num
(integer) 2
127.0.0.1:6379> decr num
(integer) 1
127.0.0.1:6379> decr num
(integer) 0
127.0.0.1:6379> decr num
(integer) -1
127.0.0.1:6379> decr num
(integer) -2

setbit(key, offset, value):对key中值的二进制的表示位进行操作

offset为位的索引(将值变换成二进制后再进行索引),value为设置的值,只能是 1 或 0

127.0.0.1:6379> get name
"jack"
# 对应的二进制为:
# 01101010 01100001 01100011 01101011
# 把c改为a
127.0.0.1:6379> setbit name 22 0
(integer) 1
127.0.0.1:6379> get name
"jaak"

getbit(key, offset):获取key对应的值的二进制表示中的某位的值(0或1)

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> getbit name 22
(integer) 1

bitcount(key, start=None, end=None):获取key对应的值的二进制表示中 1 的个数

start为位起始位置,end为位结束位置

127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> bitcount name 2 10
(integer) 9

Python-Redis的String操作的更多相关文章

  1. python操作redis之String操作

    # __author__ = 'STEVEN' import redis,time # 方式1,直接链接操作 # r = redis.Redis(host='192.168.43.22',port=6 ...

  2. Redis的String操作

    set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 注: 如果ex, ...

  3. (二)Redis字符串String操作

    String全部命令如下: set key value # 设置一个key的value值 get key # 获取key的value值 mset key1 value1 key2 value2 ... ...

  4. Python操作redis字符串(String)详解 (三)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...

  5. Python(Redis 中 String/List/Hash 类型数据操作)

    1.下载 redis 模块 pip install redis 2.redis 数据库两种连接方式 简单连接 decode_responses=True,写入和读取的键值对中的 value 为 str ...

  6. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

  7. redis对string进行的相关操作

    redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令  set key value ...

  8. python redis操作数据库方法

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  9. Redis一(Redis-py与String操作)

    Redis 介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  10. Python Redis string

    String操作,redis中的String在在内存中按照一个name对应一个value来存储.如图: set(name, value, ex=None, px=None, nx=False, xx= ...

随机推荐

  1. Redis持久化——RDB(一)

    核心知识点: 1.RDB:将当前数据生成快照保存到硬盘 2.手动触发 save:会阻塞Redis服务器直到RDB完成. bgsave:执行fork创建子进程,由子进程负责RDB操作,阻塞只发生在for ...

  2. JQuery 双击动态编辑

             $(this).append(input);            $("input#temp").focus();            $("inp ...

  3. PAT 天梯赛 L2-012. 关于堆的判断 【Heap】【STL】

    题目链接 https://www.patest.cn/contests/gplt/L2-012 思路 使用 STL 里面有关 Heap 的函数 std::make_heap将[start, end)范 ...

  4. 动态顺序表(C++实现)

    顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元中也是相邻的.只要知道了第一个元素的 ...

  5. delphi的获取某坐标的颜色值

    1.通过API函数GetPixel(),获取某个点的颜色值; var PT : TPoint; C : TColor; DC : HDC; hwd : THandle; I : integer; be ...

  6. hiho一下 第四十八周 拓扑排序·二【拓扑排序的应用 + 静态数组 + 拓扑排序算法的时间优化】

    题目1 : 拓扑排序·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho所在学校的校园网被黑客入侵并投放了病毒.这事在校内BBS上立刻引起了大家的讨论,当 ...

  7. Outlook 2010打开没反应,只有任务栏有图标的解决方法

    Outlook 2010打开没反应,任务栏图标显示如下: 解决方法: 按下Windows+R键,输入regedit: 按回车: 请在注册表编辑器中定位到以下键值,重命名以下4项(比如将outlook重 ...

  8. php一维数组的创建

    php一维数组的创建 (1)通过array函数声明数组 使用array 函数定义数组,该函数返回通过所接受接收的参数建立的数组.array 函数使用的格式如下. $arry_name = array( ...

  9. js混合计算字符串字节长度

    js混合计算字符串字节长度 function getBt(str) { ) { var char = str.match(/[^\x00-\xff]/ig); : char.length); } el ...

  10. C# WinForm开发DataGridView 使用

    1.C# WinForm开发系列 - DataGridView 使用:(http://group.cnblogs.com/topic/40730.html) 2.C# — WinForm DataGr ...