Documentation ¶
Index ¶
- Constants
- Variables
- func BatchKey(prefix string, keys ...string) []string
- func GetScores(s []Scored) []float64
- func Key(keys ...string) string
- func ParseRedisClusterURL(redisURL string) (*redis.ClusterOptions, error)
- func RemoveScores(items []Scored) []string
- func SortScores(scores []Scored)
- type Database
- type MongoDB
- func (m MongoDB) AddSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) AddSorted(ctx context.Context, sortedSets ...SortedSet) error
- func (m MongoDB) Close() error
- func (m MongoDB) Delete(ctx context.Context, name string) error
- func (m MongoDB) Get(ctx context.Context, name string) *ReturnValue
- func (m MongoDB) GetSet(ctx context.Context, name string) ([]string, error)
- func (m MongoDB) GetSorted(ctx context.Context, name string, begin, end int) ([]Scored, error)
- func (m MongoDB) GetSortedByScore(ctx context.Context, name string, begin, end float64) ([]Scored, error)
- func (m MongoDB) Init() error
- func (m MongoDB) Ping() error
- func (m MongoDB) Purge() error
- func (m MongoDB) RemSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) RemSorted(ctx context.Context, members ...SetMember) error
- func (m MongoDB) RemSortedByScore(ctx context.Context, name string, begin, end float64) error
- func (m MongoDB) Scan(work func(string) error) error
- func (m MongoDB) Set(ctx context.Context, values ...Value) error
- func (m MongoDB) SetSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) SetSorted(ctx context.Context, name string, scores []Scored) error
- type NoDatabase
- func (NoDatabase) AddSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) AddSorted(_ context.Context, _ ...SortedSet) error
- func (NoDatabase) Close() error
- func (NoDatabase) Delete(_ context.Context, _ string) error
- func (NoDatabase) Get(_ context.Context, _ string) *ReturnValue
- func (NoDatabase) GetSet(_ context.Context, _ string) ([]string, error)
- func (NoDatabase) GetSorted(_ context.Context, _ string, _, _ int) ([]Scored, error)
- func (NoDatabase) GetSortedByScore(_ context.Context, _ string, _, _ float64) ([]Scored, error)
- func (NoDatabase) Init() error
- func (NoDatabase) Ping() error
- func (NoDatabase) Purge() error
- func (NoDatabase) RemSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) RemSorted(_ context.Context, _ ...SetMember) error
- func (NoDatabase) RemSortedByScore(_ context.Context, _ string, _, _ float64) error
- func (NoDatabase) Scan(_ func(string) error) error
- func (NoDatabase) Set(_ context.Context, _ ...Value) error
- func (NoDatabase) SetSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) SetSorted(_ context.Context, _ string, _ []Scored) error
- type Redis
- func (r *Redis) AddSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) AddSorted(ctx context.Context, sortedSets ...SortedSet) error
- func (r *Redis) Close() error
- func (r *Redis) Delete(ctx context.Context, key string) error
- func (r *Redis) Get(ctx context.Context, key string) *ReturnValue
- func (r *Redis) GetSet(ctx context.Context, key string) ([]string, error)
- func (r *Redis) GetSorted(ctx context.Context, key string, begin, end int) ([]Scored, error)
- func (r *Redis) GetSortedByScore(ctx context.Context, key string, begin, end float64) ([]Scored, error)
- func (r *Redis) Init() error
- func (r *Redis) Ping() error
- func (r *Redis) Purge() error
- func (r *Redis) RemSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) RemSorted(ctx context.Context, members ...SetMember) error
- func (r *Redis) RemSortedByScore(ctx context.Context, key string, begin, end float64) error
- func (r *Redis) Scan(work func(string) error) error
- func (r *Redis) Set(ctx context.Context, values ...Value) error
- func (r *Redis) SetSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) SetSorted(ctx context.Context, key string, scores []Scored) error
- type ReturnValue
- type SQLDatabase
- func (db *SQLDatabase) AddSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) AddSorted(ctx context.Context, sortedSets ...SortedSet) error
- func (db *SQLDatabase) Close() error
- func (db *SQLDatabase) Delete(ctx context.Context, name string) error
- func (db *SQLDatabase) Get(ctx context.Context, name string) *ReturnValue
- func (db *SQLDatabase) GetSet(ctx context.Context, key string) ([]string, error)
- func (db *SQLDatabase) GetSorted(ctx context.Context, key string, begin, end int) ([]Scored, error)
- func (db *SQLDatabase) GetSortedByScore(ctx context.Context, key string, begin, end float64) ([]Scored, error)
- func (db *SQLDatabase) Init() error
- func (db *SQLDatabase) Ping() error
- func (db *SQLDatabase) Purge() error
- func (db *SQLDatabase) RemSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) RemSorted(ctx context.Context, members ...SetMember) error
- func (db *SQLDatabase) RemSortedByScore(ctx context.Context, key string, begin, end float64) error
- func (db *SQLDatabase) Scan(work func(string) error) error
- func (db *SQLDatabase) Set(ctx context.Context, values ...Value) error
- func (db *SQLDatabase) SetSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) SetSorted(ctx context.Context, key string, scores []Scored) error
- type SQLDriver
- type SQLSet
- type SQLSortedSet
- type SQLValue
- type Scored
- type SetMember
- type SortedSet
- type Value
Constants ¶
View Source
const ( // Measurements are sorted set of measurements. // Measurements - measurements/{name} Measurements = "measurements" // IgnoreItems is sorted set of ignored items for each user // Ignored items - ignore_items/{user_id} IgnoreItems = "ignore_items" // HiddenItemsV2 is sorted set of hidden items. // Global hidden items - hidden_items_v2 // Category hidden items - hidden_items_v2/{category} HiddenItemsV2 = "hidden_items_v2" // ItemNeighbors is sorted set of neighbors for each item. // Global item neighbors - item_neighbors/{item_id} // Categorized item neighbors - item_neighbors/{item_id}/{category} ItemNeighbors = "item_neighbors" // ItemNeighborsDigest is digest of item neighbors configuration // Item neighbors digest - item_neighbors_digest/{item_id} ItemNeighborsDigest = "item_neighbors_digest" // UserNeighbors is sorted set of neighbors for each user. // User neighbors - user_neighbors/{user_id} UserNeighbors = "user_neighbors" // UserNeighborsDigest is digest of user neighbors configuration // User neighbors digest - user_neighbors_digest/{user_id} UserNeighborsDigest = "user_neighbors_digest" // CollaborativeRecommend is sorted set of collaborative filtering recommendations for each user. // Global recommendation - collaborative_recommend/{user_id} // Categorized recommendation - collaborative_recommend/{user_id}/{category} CollaborativeRecommend = "collaborative_recommend" // collaborative filtering recommendation for each user // OfflineRecommend is sorted set of offline recommendation for each user. // Global recommendation - offline_recommend/{user_id} // Categorized recommendation - offline_recommend/{user_id}/{category} OfflineRecommend = "offline_recommend" // OfflineRecommendDigest is digest of offline recommendation configuration. // Recommendation digest - offline_recommend_digest/{user_id} OfflineRecommendDigest = "offline_recommend_digest" // PopularItems is sorted set of popular items. The format of key: // Global popular items - latest_items // Categorized popular items - latest_items/{category} PopularItems = "popular_items" // LatestItems is sorted set of the latest items. The format of key: // Global latest items - latest_items // Categorized the latest items - latest_items/{category} LatestItems = "latest_items" // ItemCategories is the set of item categories. The format of key: // Global item categories - item_categories ItemCategories = "item_categories" LastModifyItemTime = "last_modify_item_time" // the latest timestamp that a user related data was modified LastModifyUserTime = "last_modify_user_time" // the latest timestamp that an item related data was modified LastUpdateUserRecommendTime = "last_update_user_recommend_time" // the latest timestamp that a user's recommendation was updated LastUpdateUserNeighborsTime = "last_update_user_neighbors_time" // the latest timestamp that a user's neighbors item was updated LastUpdateItemNeighborsTime = "last_update_item_neighbors_time" // the latest timestamp that an item's neighbors was updated // GlobalMeta is global meta information GlobalMeta = "global_meta" DataImported = "data_imported" NumUsers = "num_users" NumItems = "num_items" NumUserLabels = "num_user_labels" NumItemLabels = "num_item_labels" NumTotalPosFeedbacks = "num_total_pos_feedbacks" NumValidPosFeedbacks = "num_valid_pos_feedbacks" NumValidNegFeedbacks = "num_valid_neg_feedbacks" LastFitMatchingModelTime = "last_fit_matching_model_time" LastFitRankingModelTime = "last_fit_ranking_model_time" LastUpdateLatestItemsTime = "last_update_latest_items_time" // the latest timestamp that latest items were updated LastUpdatePopularItemsTime = "last_update_popular_items_time" // the latest timestamp that popular items were updated UserNeighborIndexRecall = "user_neighbor_index_recall" ItemNeighborIndexRecall = "item_neighbor_index_recall" MatchingIndexRecall = "matching_index_recall" )
Variables ¶
View Source
var ( ErrObjectNotExist = errors.NotFoundf("object") ErrNoDatabase = errors.NotAssignedf("database") )
Functions ¶
func ParseRedisClusterURL ¶ added in v0.4.8
func RemoveScores ¶
RemoveScores resolve items for a slice of ScoredItems.
func SortScores ¶ added in v0.3.1
func SortScores(scores []Scored)
SortScores sorts scores from high score to low score.
Types ¶
type Database ¶
type Database interface { Close() error Ping() error Init() error Scan(work func(string) error) error Purge() error Set(ctx context.Context, values ...Value) error Get(ctx context.Context, name string) *ReturnValue Delete(ctx context.Context, name string) error GetSet(ctx context.Context, key string) ([]string, error) SetSet(ctx context.Context, key string, members ...string) error AddSet(ctx context.Context, key string, members ...string) error RemSet(ctx context.Context, key string, members ...string) error AddSorted(ctx context.Context, sortedSets ...SortedSet) error GetSorted(ctx context.Context, key string, begin, end int) ([]Scored, error) GetSortedByScore(ctx context.Context, key string, begin, end float64) ([]Scored, error) RemSortedByScore(ctx context.Context, key string, begin, end float64) error SetSorted(ctx context.Context, key string, scores []Scored) error RemSorted(ctx context.Context, members ...SetMember) error }
Database is the common interface for cache store.
type MongoDB ¶ added in v0.4.0
type MongoDB struct { storage.TablePrefix // contains filtered or unexported fields }
func (MongoDB) Get ¶ added in v0.4.0
func (m MongoDB) Get(ctx context.Context, name string) *ReturnValue
func (MongoDB) GetSortedByScore ¶ added in v0.4.0
func (MongoDB) RemSortedByScore ¶ added in v0.4.0
type NoDatabase ¶
type NoDatabase struct{}
NoDatabase means no database used for cache.
func (NoDatabase) AddSorted ¶ added in v0.3.2
func (NoDatabase) AddSorted(_ context.Context, _ ...SortedSet) error
AddSorted method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Close ¶
func (NoDatabase) Close() error
Close method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Delete ¶ added in v0.3.1
func (NoDatabase) Delete(_ context.Context, _ string) error
Delete method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Get ¶ added in v0.4.0
func (NoDatabase) Get(_ context.Context, _ string) *ReturnValue
Get method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) GetSortedByScore ¶ added in v0.3.3
GetSortedByScore method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Init ¶ added in v0.4.0
func (NoDatabase) Init() error
Init method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Ping ¶ added in v0.4.10
func (NoDatabase) Ping() error
func (NoDatabase) Purge ¶ added in v0.4.7
func (NoDatabase) Purge() error
func (NoDatabase) RemSorted ¶ added in v0.3.1
func (NoDatabase) RemSorted(_ context.Context, _ ...SetMember) error
RemSorted method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) RemSortedByScore ¶ added in v0.3.4
RemSortedByScore method of NoDatabase returns ErrNoDatabase.
type Redis ¶
type Redis struct { storage.TablePrefix // contains filtered or unexported fields }
Redis cache storage.
func (*Redis) Get ¶ added in v0.4.0
func (r *Redis) Get(ctx context.Context, key string) *ReturnValue
Get returns a value from Redis.
func (*Redis) GetSortedByScore ¶ added in v0.3.3
func (*Redis) RemSortedByScore ¶ added in v0.3.4
type ReturnValue ¶ added in v0.4.0
type ReturnValue struct {
// contains filtered or unexported fields
}
func (*ReturnValue) Integer ¶ added in v0.4.0
func (r *ReturnValue) Integer() (int, error)
func (*ReturnValue) String ¶ added in v0.4.0
func (r *ReturnValue) String() (string, error)
type SQLDatabase ¶ added in v0.4.0
type SQLDatabase struct { storage.TablePrefix // contains filtered or unexported fields }
func (*SQLDatabase) AddSorted ¶ added in v0.4.0
func (db *SQLDatabase) AddSorted(ctx context.Context, sortedSets ...SortedSet) error
func (*SQLDatabase) Close ¶ added in v0.4.0
func (db *SQLDatabase) Close() error
func (*SQLDatabase) Delete ¶ added in v0.4.0
func (db *SQLDatabase) Delete(ctx context.Context, name string) error
func (*SQLDatabase) Get ¶ added in v0.4.0
func (db *SQLDatabase) Get(ctx context.Context, name string) *ReturnValue
func (*SQLDatabase) GetSortedByScore ¶ added in v0.4.0
func (*SQLDatabase) Init ¶ added in v0.4.0
func (db *SQLDatabase) Init() error
func (*SQLDatabase) Ping ¶ added in v0.4.10
func (db *SQLDatabase) Ping() error
func (*SQLDatabase) Purge ¶ added in v0.4.7
func (db *SQLDatabase) Purge() error
func (*SQLDatabase) RemSorted ¶ added in v0.4.0
func (db *SQLDatabase) RemSorted(ctx context.Context, members ...SetMember) error
func (*SQLDatabase) RemSortedByScore ¶ added in v0.4.0
func (*SQLDatabase) Scan ¶ added in v0.4.1
func (db *SQLDatabase) Scan(work func(string) error) error
func (*SQLDatabase) Set ¶ added in v0.4.0
func (db *SQLDatabase) Set(ctx context.Context, values ...Value) error
type SQLSortedSet ¶ added in v0.4.4
type SetMember ¶ added in v0.4.0
type SetMember struct {
// contains filtered or unexported fields
}
type SortedSet ¶ added in v0.4.0
type SortedSet struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.