前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis API

Redis API

原创
作者头像
DB之路
修改2021-03-09 14:16:46
4680
修改2021-03-09 14:16:46
举报
文章被收录于专栏:数据库PG

1.1 PHP使用redis

代码语言:txt
复制
tar zxvf 2.2.7.tar.gz
代码语言:txt
复制
cd phpredis-2.2.7
代码语言:txt
复制
/application/php/bin/phpize
代码语言:txt
复制
./configure --with-php-config=/application/php/bin/php-config
代码语言:txt
复制
make && make install
代码语言:txt
复制
echo 'extension="redis.so"' >> /application/php/lib/php.ini
代码语言:txt
复制
service php-fpm restart
代码语言:txt
复制
service nginx restart

连接测试代码

代码语言:txt
复制
[root@clsn ~]# cat /application/nginx/html/check.php
代码语言:txt
复制
<?php
代码语言:txt
复制
//连接本地的 Redis 服务
代码语言:txt
复制
$redis = new Redis();
代码语言:txt
复制
$redis->connect('127.0.0.1', 6379);
代码语言:txt
复制
echo "Connection to server sucessfully";
代码语言:txt
复制
//查看服务是否运行
代码语言:txt
复制
echo "Server is running: " . $redis->ping();
代码语言:txt
复制
?>

字符串操作

代码语言:txt
复制
<?php
代码语言:txt
复制
//连接本地的 Redis 服务
代码语言:txt
复制
$redis = new Redis();
代码语言:txt
复制
$redis->connect('127.0.0.1', 6379);
代码语言:txt
复制
echo "Connection to server sucessfully";
代码语言:txt
复制
//设置 redis 字符串数据
代码语言:txt
复制
$redis->set("tutorial-name", "Redis tutorial");
代码语言:txt
复制
// 获取存储的数据并输出
代码语言:txt
复制
echo "Stored string in redis:: " . $redis-
代码语言:txt
复制
>get("tutorial-name");
代码语言:txt
复制
?>

1.2 Python连接redis

安装软件包

代码语言:txt
复制
[root@Redis ~]# yum install python-pip ipython -y  
代码语言:txt
复制
[root@Redis ~]# pip install redis

测试

代码语言:txt
复制
[root@Redis ~]# ipython
代码语言:txt
复制
In [1]: import redis
代码语言:txt
复制
In [2]: clsn = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
代码语言:txt
复制
In [3]: clsn.set('blog','blog.nmtui.com')
代码语言:txt
复制
Out[3]: True
代码语言:txt
复制
In [4]: clsn.get('blog')
代码语言:txt
复制
Out[4]: 'blog.nmtui.com'

1.3 Goland连接redis

代码语言:txt
复制
获取:

go get github.com/garyburd/redigo/redis

连接redis

代码语言:txt
复制
package main
import (
    "fmt"
    "github.com/garyburd/redigo/redis"
)

func main() {
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
    if err != nil {
        fmt.Println("Connect to redis error", err)
        return
    }
    defer c.Close()
}

读写

这里写入的值永远不会过期

代码语言:javascript
复制
package main

import (
    "fmt"

    "github.com/garyburd/redigo/redis"
)

func main() {
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
    if err != nil {
        fmt.Println("Connect to redis error", err)
        return
    }
    defer c.Close()

    _, err = c.Do("SET", "mykey", "superWang")
    if err != nil {
        fmt.Println("redis set failed:", err)
    }

    username, err := redis.String(c.Do("GET", "mykey"))
    if err != nil {
        fmt.Println("redis get failed:", err)
    } else {
        fmt.Printf("Get mykey: %v \n", username)
    }
}

读写 这里写入的值永远不会过期

代码语言:javascript
复制
package main

import (
    "fmt"

    "github.com/garyburd/redigo/redis"
)

func main() {
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
    if err != nil {
        fmt.Println("Connect to redis error", err)
        return
    }
    defer c.Close()

    _, err = c.Do("SET", "mykey", "superWang")
    if err != nil {
        fmt.Println("redis set failed:", err)
    }

    username, err := redis.String(c.Do("GET", "mykey"))
    if err != nil {
        fmt.Println("redis get failed:", err)
    } else {
        fmt.Printf("Get mykey: %v \n", username)
    }
}

如何设置过期呢,可以使用SET的附加参数:

代码语言:javascript
复制
package main

import (
    "fmt"
    "time"

    "github.com/garyburd/redigo/redis"
)

func main() {
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
    if err != nil {
        fmt.Println("Connect to redis error", err)
        return
    }
    defer c.Close()

    _, err = c.Do("SET", "mykey", "superWang", "EX", "5")
    if err != nil {
        fmt.Println("redis set failed:", err)
    }

    username, err := redis.String(c.Do("GET", "mykey"))
    if err != nil {
        fmt.Println("redis get failed:", err)
    } else {
        fmt.Printf("Get mykey: %v \n", username)
    }

    time.Sleep(8 * time.Second)

    username, err = redis.String(c.Do("GET", "mykey"))
    if err != nil {
        fmt.Println("redis get failed:", err)
    } else {
        fmt.Printf("Get mykey: %v \n", username)
    }
}

输出: Get mykey: superWang redis get failed: redigo: nil returned

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 PHP使用redis
  • 1.2 Python连接redis
  • 1.3 Goland连接redis
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档